Title: Feedback Control of The Software Development Process
1Feedback Control of The Software Development
Process
CS 490 D Technology Review
Aditya P. Mathur in collaboration with João
Cangussu Ray. A. DeCarlo
Department of Computer Sciences Purdue University
Tuesday February 27, 2001
2Software Development Process Definitions
A Software Development Process (SDP) is a
sequence of well defined activities used in the
production of software.
An SDP usually consists of several sub-processes
that may or may not operate in a sequence. The
Design Process, the Software Test Process, and
the Configuration Management Process are examples
of sub-processes of the SDP.
3Research Question
Can we control the SDP in a manner similar to how
physical systems and processes are controlled?
4Research Methodology
- Understand how physical systems are controlled?
2. Understand how software systems relate to
physical systems. Are there similarities? Are
there differences?
3. Understand the theory and practice of the
control of physical systems.
4. Can we borrow from this theory? If yes, then
proceed further, else drink coffee or tea and
think of another research direction.
5. Adapt control theory to the control of SDP and
develop models and methods to control the SDP.
6. Study the behavior of the models and methods
in real-life settings.
5Research Methodology
- Improve the model and methods.
- Repeat steps 6 and 7 until you are thoroughly
bored or get rich.
6Current Focus
Software Test Process (STP) System test phase
Objective Control the STP so that the quality
of the tested software is as desired.
- Quantification of quality of software
- Number of remaining errors
- Reliability
7Introduction Problem Scenario
r0
observed
where cpi check point i
approximation
r - number of remaining errors
schedule set by the manager
rf
t- time
cp2
cp3
cp4
cp5
cp6
cp7
cp8
cp9
cp1
t0
deadline
8IntroductionOur Approach
rexpected(Tf)rf
Actual STP
??
Initial Settings (wf,?)
??
Controller
Manager
?wf
?wf
STP State Model
9Physical Systems Laws of Motion
Second Law The acceleration of an object is
directly proportional to the net force acting
upon it and inversely proportional to its
mass. Fma
Fundamental concepts Force, Mass, Velocity
Derived concepts Acceleration, Inertia (mv)
10Physical Systems Spring-Mass system
External force
Dashpot
Rigid surface
Block
Spring
Arrows show directions of forces on the block.
Spring is assumed to be stretched to the left.
11Physical Systems Spring-Mass System
Block Software under test.
Position Number of remaining errors.
Mass Software complexity
Spring Effective test effort larger spring
coefficient implies larger workforce.
Dashpot Opposing force quality of the test
process is inversely proportional
to the coefficient of viscosity.
12Physical Systems Control
Controllability Is it possible to control X by
adjusting Y? Observability Does the system have
distinct states that can't be unambiguously
identified by the controller ? Robustness Will
control be regained satisfactorily after an
unexpected disturbance?
13Assumption I
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.
14Assumption II
The magnitude of the effective test effort is
proportional to the product of the applied work
force and number of remaining errors.
for an appropriate ?.
15Assumption III
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 ?.
16State Model
17Feedback
18Case Study II Razorfish Project Description
Project Goal translate 4 million lines of
Cobol code to SAP/R3
A tool has been developed to achieve the goal of
this project.
Goal of the test process Test the generated
code, not the tool.
19Case Study II Razorfish Project Error
Correspondence
B
B
A
A
Assumption 1
x
x
x
x
- Where
- A represents errors in the transformer
- B represents errors in the generated code
20Validation Razorfish ProjectTesting Process
continue testing
yes
output 2
output 1
no
run
run
modify
Transformer
SCobol
SSAP R/3
input
Select a Test Profile
21Case Study II Razorfish Project Results
Case study began at week 14.
deadline at week 25.
Project completed in 37 weeks.
Error reduction of 85 desired by the deadline.
22Case Study II Razorfish ProjectAlternatives
from Feedback
Eigenvalue needed To meet the deadline-0.152. Can
not be obtained by changing process quality.
23Case Study II Razorfish ProjectAlternatives
from Feedback
Eigenvalue needed To meet the deadline-0.152
24Case Study II Razorfish ProjectAlternatives
from Feedback
25Case Study II Razorfish ProjectAlternatives
from Feedback
26Summary
Analogy between physical and software systems
presented.
The notion of feedback control of software
processes introduced.
One case study described.
27Ongoing Research
Sensitivity analysis of the model.
Expansion of the model to include the entire SDP.
Additional case studies.
28Physical Systems Oven Controller
Temperature reading
Oven temperature
Rho
Th
W
T0
thermal resistance of insulation
C0
Ch
Te
Heat loss to environment