software process control1 aditya p. mathur (cs) department of computer sciences purdue university,...

27
Software Process Control 1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu (CS) Ray. A. DeCarlo (ECE) Friday February 1, 2002 Newton's Law of Motion in Software Development Processes? Presentation at: The Center for Advanced Computer Studies University of Louisiana, Lafayette, LA Room: HLG 147

Upload: sibyl-jasmine-carpenter

Post on 17-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 1

Aditya P. Mathur (CS)Department of Computer SciencesPurdue University, West Lafayette

Research collaborators:João Cangussu (CS)Ray. A. DeCarlo (ECE)

Friday February 1, 2002

Newton's Law of Motion in Software Development Processes?

Presentation at:The Center for Advanced Computer StudiesUniversity of Louisiana, Lafayette, LARoom: HLG 147

Page 2: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 2

Research Question

Can we control the Software Development Process in a manner similar to how physical systems and processes are controlled ?

The central problem in control is to find a technically feasible way to act on a given process so that the process adheres, as closely as possible to some desired behavior.

The fundamental control problem (Ref: Control System Design by G. C. Goodwin et al., Prentice Hall, 2001)

Furthermore, this approximate behavior should be achieved in the face of uncertainty of the process and in the presence of uncontrollable external disturbances acting on the process.

Page 3: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 3

Research Methodology

1. Understand how physical systems are controlled?

2. Understand how software systems relate to physical systems. Are there similarities? Differences?

3. Understand the theory and practice of the control of physical systems. Can we borrow from this theory?

4. Adapt control theory to the control of SDP and develop models and methods to control the SDP.

5. Study the behavior of the models and methods in real-life settings and, perhaps, improve the model and methods.

6. Repeat steps 6 and 7 until you are thoroughly bored or get rich.

Page 4: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 4

Feedback Control

Specifications

ProgramEffort +

f(e)Additionaleffort What is f ?

-

RequiredQuality

rQ

ObservedQuality

oQ

oQr

Qe

Page 5: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 5

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.

Page 6: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 6

Software Development Process: A Life Cycle

RequirementsElicitation

RequirementsAnalysis

Integrate/Test

Design

Code/Unit test

System test More test DeployNot all feedback loopsare shown.

Page 7: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 7

Current 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

Page 8: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 8

Problem Scenario

cp1 cp2 cp3 cp4 cp5 cp6 cp7 cp8 cp9

cpi = check point i

rf

schedule set bythe manager

approximation

r0 observed

deadline

r -

num

ber

ofre

mai

ning

err

ors

t- time

t0

Page 9: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 9

Our Approach

Actual STP

Controllerrerror(t)

w’f

+

+

wf+wf

+

wf+wf

+ STP State Model

robserved(t)

rexpected(t)

sc r0

sc r0

Initial Settings(wf,)

wf

Test Manager

wf: workforce : quality of the test process.

Page 10: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 10

Physical and Software Systems: An Analogy

Dashpot

Rigid surface

External force

XcurrentXequilibrium

X: Position

Number of remainingerrors

Spring Force

Effective Test Effort

Block

Software

Mass of the blockSoftware

complexity

Quality of thetest process

Viscosity

Spring

To err isHuman.

Page 11: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 11

Physical Systems: Control

Controllability

Is it possible to control X (r) by adjusting Y (workforce and process quality)?

Observability

Does the system have distinct states that cannot be unambiguously identified by the controller ?

Robustness

Will control be regained satisfactorily after an unexpected disturbance?

Page 12: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 12

Physical Systems: Laws of Motion [1]

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 apply to testing because the number of errors does not change when no external effort is applied to the application.

Page 13: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 13

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.

CDM’s First Law:

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 .

r..

Page 14: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 14

Physical Systems: Laws of Motion [3]

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 fatigue on the tester.

This is not a scientific relationship.

Page 15: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 15

Assumption I: CDM’s First Law

The magnitude of the rate of decrease of the remaining errorsis directly proportional to the net applied effort and inverselyproportional to the complexity of the program under test.

cc

srs

r EE

This is analogous to Newton’s Second Law of motion.

Page 16: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 16

Assumption II: CDM’s Second Law

The magnitude of the effective test effort is proportional to theproduct of the applied work force and the number of remaining errors.

for an appropriate .

Analogy with the spring:

Page 17: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 17

Assumption III: CDM’s Third Law

The error reduction resistance is proportional to the errorreduction velocity and inversely proportional to the overallquality of the test phase.

rer

1

for an appropriate .

Analogy with the dashpot:

Page 18: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 18

State Modeletr eeE

r

r

r

r

F

sr

r

ss

wr

rd

ccc

f

10

01

1

010

Fd: Disturbance

Page 19: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 19

Computing the feedback

teTrtTr max)()(

c

f

c

cc

f

s

w

s

ss

wAI

ˆ

ˆ

ˆ

ˆ1

detdet

2

fwff wwandwhere ˆˆ

Page 20: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 20

Case Study II: Razorfish Project Description

Project Goal: translate 4 million lines of Cobol code to SAP/R3

A tool has been developed to achievethe goal of this project.

Goal of the test process: (a) Test the generated code, not the tool. (b) Reduce the number of errors by about 85%.

Page 21: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 21

Validation: Razorfish ProjectTesting Process

Transformer

=

modify

SSAP R/3

run

output 1 output 2

run

SCobol

Select a Test Profile

input

continuetesting yes

no

Page 22: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 22

Case Study II: Razorfish Project Results

85% reduction achieved.

If the process parameters are not altered then the goal is reached in about 35 weeks.

Page 23: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 23

Alternatives from Feedback: STP Quality

Desired eigenvalue=-0.152Improving quality alone will not help inachieving the goal.

Page 24: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 24

Alternatives from Feedback: Workforce

Desired eigenvalue=-0.152 Changing the workforce alone can produce the desired results.

Page 25: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 25

Alternatives from Feedback: STP quality and workforce

Set of valid choices for changing the quality and the workforce

Page 26: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 26

Summary

Analogy between physical and software systems presented.

The notion of feedback control of software processes introduced.

One case study described.

Parameter estimation techniques used for model calibration. Made use of system identification techniques.

Page 27: Software Process Control1 Aditya P. Mathur (CS) Department of Computer Sciences Purdue University, West Lafayette Research collaborators: João Cangussu

Software Process Control 27

Ongoing Research

Expansion of the model to include the entire SDP.

Additional case studies.

Sensitivity analysis:

r is more sensitive to changes in the model parameters during the early stages of the test process than during the later stages.

An improvement in the quality of the STP is more effective than an increase in the workforce.

Brook’s Law was also observed during the analysis.