Software Cybernetics: Progress 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. Cybernetics
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
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.
[n] the field of science concerned with processes of communication and control (especially the comparison of these processes in biological and artificial systems)
[n] the field of science concerned with processes of communication and control in software systems.
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?
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?
Software cybernetic approach..
Approaches1. 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.
Quality
+
Effort

Observed
Quality
f(e)
Additional
effort
What is f ?
Closed Loop (feedback) ControlSpecifications
Program
r0
observed
Approximation of how r is likely to change
r  number of
remaining errors
schedule set by
the manager
rf
t time
cp2
cp3
cp4
cp5
cp6
cp7
cp8
cp9
cp1
t0
deadline
Sample Problem Scenariocpi = check point i
sc
r0
robserved(t)
wf+wf
Actual STP
+
’
wf
w’f
wf+wf
STP State Model
+
sc
r0
Our Approach+
Initial
Settings
(wf,)
rerror(t)
Controller
Test Manager
+
rexpected(t)
wf: workforce
: quality of the test process
Decisions
Progress
Metrics
Mgmt.
Control
Model
Parameters
Parameter
Estimation
Suggested
Decision
Changes
Actual
Schedule
+
Process
Model
Estimation
Error

Feedback
Controller

Predicted Schedule
Estimated Future
Schedule Deviation
+
Desired Schedule
Decision Support via FeedbackActual
Process
Block
Spring Force
Xcurrent
Effective Test Effort
X: Position
Mass of the block
Viscosity
Quality of the
test process
Number of remaining
errors
Software complexity
Physical and Software Systems: An AnalogyDashpot
External force
To err is
Human
Rigid surface
Spring
Xequilibrium
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.
r
CDM First Postulate:
The relationship between the complexity Sc of an application, its rate of reduction in the number of remaining errors, and the applied effort E is E=Sc.
Physical Systems: Laws of Motion [2]Newton’s Second Law:
The relationship between an object's mass m, its acceleration a, and the applied force F is F = ma.
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.
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 Newton’s Second Law of motion.
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 .
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.
r(T): the number of remaining errors at time T
r(T+T): the desired number of remaining errors at
time T+T
Question:
What changes to the process parameters will achieve the desired r(T+T) ?
Computing the feedback: QuestionObtain the desired eigenvalue.
Computing the feedback: AnswerFrom 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:
Compute the desired max
We know that the eigenvalues of our model are the roots of its characteristic polynomial of the A matrix.
We use the above equation to calculate the space of changes to w and such that the system maintains its desired eigenvalue.
f
Computing the feedbackCalculations (max)Test to
Authoring
Test
Code
Test
Verification
& Correction
Reg.
Cases
Feat.
Specs
Coding
Latent
Defects
Regression
Testing
Project
Code
Known
Defects
Code
Debugging
A Flow Model of Incremental Software Development/TestTest
Specs
System State to
Progress
Feature Coding (fc)
Code Debugging (dr)
Test Authoring (ta)
Test Debugging (td)
Regression Testing (rr)
Defect Model
Development
Testing
StateModel [Example] EquationsProcess Productivity (E.g. Feature Coding) to
Defect Introduction
Defect Detection (Cangussu et al., ’02)
The “Productivity” Eqns.