Title: Software Cybernetics: Progress and Challenges
1Software CyberneticsProgress and Challenges
Aditya P. Mathur Professor, Department of
Computer Science, Associate Dean, Graduate
Education and International Programs Purdue
University
Monday December 20, 2004. University of
Paderborn, Paderborn, Germany.
2Cybernetics
- n the field of science concerned with
processes of communication and control
(especially the comparison of these processes in
biological and artificial systems)
3Software Cybernetics
- n the field of science concerned with
processes of communication and control in
software systems.
4Sample Problems
- Control of the software test process
- How much and what additional effort is to be
applied to achieve the desired quality objective
under time/cost constraints?
Optimal selection of tests What is an optimal
set of tests for achieving the desired quality
objective given time constraints?
5Sample Problems (continued)
- Software performance control
- How best to adjust software parameters so that
an optimal level of performance is maintained?
Control of the software development
process What is an optimal set of process
variables required to achieve delivery objectives
within cost/time constraints?
6Approaches
- 1. Use instinct and experience.
2. Use (1) supported by quantitative tools.
(a) Use simulation forward approach.
(b) Use simulation forward approach.
(c) Use (a) plus feedback control inverse
approach.
7Closed Loop (feedback) Control
Specifications
Program
8Sample Problem Scenario
cpi check point i
9Our Approach
Initial Settings (wf,?)
rerror(t)
Controller
Test Manager
rexpected(t)
wf workforce ? quality of the test process
10Decision Support via Feedback
Actual Process
11Challenges (Sources of difficulty)
Physical Logical (software)
Laws of physics Yes No
Object controlled Physical Logical (and Humans)
Time dependence Stationary and non-stationary Non-stationary
Rate of change Very slow to very fast Slow
Parameter variability Relatively low High
12Overcoming the challenge Understanding the
problem
- Partnership amongst researchers and
practitioners. - Is the problem real?
- Are the existing solutions adequate?
13Overcoming the challenge Solving the problem
- Parternership amongst researchers and
practitioners. - Develop realistic models
- Develop parameter estimation methods.
- Develop ways to incorporate parameter estimation
into the development process.
14Details and Case Studies
- Razorfish
- Guidant Corporation
- Sun Microsystems
15 Physical and Software Systems An Analogy
Dashpot
External force
To err is Human
Rigid surface
Spring
Xequilibrium
16Physical Systems Laws of Motion 1
First Law Every object in a state of uniform
motion tends to remain in that state of motion
unless an external force is applied to it.
Does not (seem to) apply to testing because the
number of errors does not change when no external
effort is applied to the application.
17Physical Systems Laws of Motion 2
Newtons Second Law The relationship between
an object's mass m, its acceleration a, and the
applied force F is F ma.
18Physical Systems Laws of Motion 3
Third Law For every action force, there is an
equal and opposite reaction force.
When an effort is applied to test software, it
leads to (mental) fatigue on the tester.
Unable to quantify this relationship.
19CDM First Postulate
The magnitude of the rate of decrease of the
remaining errors is directly proportional to the
net applied effort and inversely proportional to
the complexity of the program under test.
This is analogous to Newtons Second Law of
motion.
20CDM Second Postulate
Analogy with the spring
The magnitude of the effective test effort is
proportional to the product of the applied work
force and the number of remaining errors.
Note While keeping the effective test effort
constant, a reduction in r requires an increase
in workforce.
for an appropriate ?.
21CDM Third Postulate
Analogy with the dashpot
The error reduction resistance is proportional to
the error reduction velocity and inversely
proportional to the overall quality of the test
phase.
for an appropriate ?.
Note For a given quality of the test phase, a
larger error reduction velocity leads to larger
resistance.
22State Model
23Computing the feedback Question
24Computing the feedback Answer
From basic matrix theory The largest
eigenvalue of a linear system dominates the
rate of convergence.
Hence we need to adjust the largest eigenvalue of
the system so that the response converges to the
desired value within the remaining weeks (?T).
This can be achieved by maintaining
25Computing the feedback-Calculations (?max)
Compute the desired ?max
We know that the eigenvalues of our model are the
roots of its characteristic polynomial of the A
matrix.
26Computing the feedback-Calculations (?max)
27A Flow Model of Incremental Software
Development/Test
Test Specs
28Workforce Allocation
- Workforce allocated to particular tasks
- Effort is split across all active tasks
29State-Model Example Equations
- System State
- Progress
- Feature Coding (fc)
- Code Debugging (dr)
- Test Authoring (ta)
- Test Debugging (td)
- Regression Testing (rr)
- Defect Model
- Development
- Testing
30Variable Productivity Equation
- Human Productivity
- Workload Dependent (Csikszentmihalyi,88)
- rb Base Work rate
- c Fractional size-dependent increase
- wc Current workload size
- wn Nominal workload size
31The Productivity Eqns.
- Process Productivity (E.g. Feature Coding)
- Defect Introduction
- Defect Detection (Cangussu et al., 02)
32Control Strategy
33Model Predictive Control
- Select Cost Functional
- E.g.
- Q1,Q2 positive definite
- Calculate
- where Sxk, uk,kP ? xpk,kP