Title: Feedback Control of Software Processes
1Feedback Control of Software Processes
Aditya P. Mathur Department of Computer
Sciences João Cangussu Department of Computer
Sciences Raymond A. DeCarlo School of Electrical
and Computer Engineering
Tuesday May 1, 2001 2001 SPRING SABA INDUCTION
MEETING
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.
3Current State of Software Process Control
- Often chaotic.
- 2. Several recommended procedures are available.
None is based on formal models. There is a lack
of control algorithms. - 3. COCOMO For cost and effort estimation no
feedback loop. - 4. Reliability models For the estimation of
software reliability once again, no feedback
loop.
So what do Level 5 companies/groups do?
4Research Question
Can we control the SDP in a manner similar to how
physical systems and processes are controlled?
5 Physical and Software Systems An Analogy
Dashpot
External force
To err is Human.
Block
Rigid surface
Spring
Software
Xequilibrium
Xcurrent
6Example of Software Process Control
Software Test Process (STP) System test phase
Objective Control the STP so that the quality
of the tested software is achieved by the
deadline.
- Quantification of quality of software
- Number of remaining errors
- Reliability
7Problem Scenario
r0
observed
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
8Our Approach
Actual STP
Initial Settings (wf,?)
rerror(t)
Controller
Test Manager
STP State Model
rexpected(t)
9Postulate 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.
Two more postulatesThese postulates form the
basis of our model.
10Case Study
Objective To understand the applicability and
performance of our approach in a development
environment.
Environment Razorfish Company system test
phase.
Project Test SAP/R3 code generated by
translating automatically 4 Million lines of
COBOL code.
11Lessons from the Razorfish Study
Lesson 1 Feedback control is a feasible
and accurate mechanism to control the STP.
Quality objective and deadline 85 reduction
in errors in 25 weeks.
In the case study
Objective met in 37 weeks.
Predicted time 35 weeks !!
12Lessons from the Razorfish Study
Lesson 2 The model must be able to adapt to the
needs of a Test Manager.
Lesson 3 A control methodology based on feedback
control must account for delays in the
process due to unforeseen disturbances.
13Ongoing Research
Development of a model for feedback control using
reliability.
Expansion of the model to include the entire SDP.
Encapsulation of the model(s) into a friendly
tool.
Additional case studies (With Motorola?)
Thank You! Any questions please ?
14Postulate 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 ?.
15Postulate 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 ?.
These postulates also apply to software
reliability.