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
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?
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.
What is f ?Closed Loop (feedback) Control
Approximation of how r is likely to change
r - number of
schedule set by
deadlineSample Problem Scenario
cpi = check point i
STP State Model
: quality of the test process
Desired ScheduleDecision Support via Feedback
Effective Test Effort
Mass of the block
Quality of the
Number of remaining
Software complexityPhysical and Software Systems: An Analogy
To err is
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.
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 
Newton’s Second Law:
The relationship between an object's mass m, its acceleration a, and the applied force F is F = ma.
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
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.
x(t) = Ax(t) + B u(t)
: DisturbanceState Model
r(T): the number of remaining errors at time T
r(T+T): the desired number of remaining errors at
What changes to the process parameters will achieve the desired r(T+T) ?Computing the feedback: Question
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:
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.
fComputing the feedback-Calculations (max)
DebuggingA Flow Model of Incremental Software Development/Test
System State to
Feature Coding (fc)
Code Debugging (dr)
Test Authoring (ta)
Test Debugging (td)
Regression Testing (rr)
TestingState-Model [Example] Equations
Defect Detection (Cangussu et al., ’02)The “Productivity” Eqns.