feedback-control

advertisement
Feedback 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
1
Software 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.
2
Current State of Software Process Control
1. 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?
3
Research Question
Can we control the SDP in a manner similar to how physical
systems and processes are controlled?
Sample Physical Systems:
Cruise control
Flatness control for a rolling mill
pH control in wastewater treatment
4
Physical and Software Systems: An Analogy
External force
Dashpot
To err is
Human.
Spring
Block
Rigid surface
Software
Xequilibrium
Xcurrent
X: Position
Number of remaining
errors
Spring Force
Effective Test Effort
Mass of
the block
Software complexity
Viscosity
Quality of the
test process
5
Example 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
6
Problem Scenario
r0
observed
r - number of
remaining errors
cpi = check point i
approximation
schedule set by
the manager
rf
cp1 cp2 cp3 cp4 cp5 cp6 cp7 cp8 cp9
t- time
t0
deadline
7
Our Approach
sc r 0
+
Initial
Settings
(wf,)
wf+wf
+
Actual STP

’
Controller
Test Manager
wf
+ wf+wf
+
robserved(t)
rerror(t)
w’f
STP State Model
sc r 0
rexpected(t)
8
Postulate 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.
e
n
r   en  scr
sc
Two more postulates…These postulates form the basis
of our model.
9
Case 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.
10
Lessons from the Razorfish Study
Lesson 1:
Feedback control is a feasible and
accurate mechanism to control the STP.
In the case study:
Quality objective and deadline:
~85% reduction in errors in 25 weeks.
Objective met in:
37 weeks.
Predicted time:
35 weeks !!
11
Lessons 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.
12
Ongoing 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 ?
13
Postulate 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 .
14
Postulate III
The error reduction resistance is proportional to the error
reduction velocity and inversely proportional to the overall
quality of the test phase.
er  
1

r
for an appropriate .
These postulates also apply to software reliability.
15
Download