software cybernetics progress and challenges l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Software Cybernetics: Progress and Challenges PowerPoint Presentation
Download Presentation
Software Cybernetics: Progress and Challenges

Loading in 2 Seconds...

play fullscreen
1 / 33

Software Cybernetics: Progress and Challenges - PowerPoint PPT Presentation


  • 401 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Software Cybernetics: Progress and Challenges' - daniel_millan


An Image/Link below is provided (as is) to download presentation

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.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
software cybernetics progress and challenges
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
Cybernetics

[n] the field of science concerned with processes of communication and control (especially the comparison of these processes in biological and artificial systems)

software cybernetics
Software Cybernetics

[n] the field of science concerned with processes of communication and control in software systems.

sample problems
Sample Problems

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?

sample problems continued
Sample Problems (continued)

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?

approaches

Software cybernetic approach..

Approaches

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.

closed loop feedback control

Required

Quality

+

Effort

-

Observed

Quality

f(e)

Additional

effort

What is f ?

Closed Loop (feedback) Control

Specifications

Program

sample problem scenario

r0

observed

Approximation of how r is likely to change

r - number of

remaining errors

schedule set by

the manager

rf

t- time

cp2

cp3

cp4

cp5

cp6

cp7

cp8

cp9

cp1

t0

deadline

Sample Problem Scenario

cpi = check point i

our approach

sc

r0

robserved(t)

wf+wf

Actual STP

+



’

wf

w’f

wf+wf

STP State Model

+

sc

r0

Our Approach

+

Initial

Settings

(wf,)

rerror(t)

Controller

Test Manager

+

rexpected(t)

wf: workforce

: quality of the test process

decision support via feedback

Management

Decisions

Progress

Metrics

Mgmt.

Control

Model

Parameters

Parameter

Estimation

Suggested

Decision

Changes

Actual

Schedule

+

Process

Model

Estimation

Error

-

Feedback

Controller

-

Predicted Schedule

Estimated Future

Schedule Deviation

+

Desired Schedule

Decision Support via Feedback

Actual

Process

overcoming the challenge understanding the problem
Overcoming the challenge: Understanding the problem
  • Partnership amongst researchers and practitioners.
  • Is the problem real?
  • Are the existing solutions adequate?
overcoming the challenge solving the problem
Overcoming the challenge: Solving the problem
  • Parternership amongst researchers and practitioners.
  • Develop realistic models
  • Develop parameter estimation methods.
  • Develop ways to incorporate parameter estimation into the development process.
details and case studies
Details and Case Studies
  • Razorfish
  • Guidant Corporation
  • Sun Microsystems
physical and software systems an analogy

Software

Block

Spring Force

Xcurrent

Effective Test Effort

X: Position

Mass of the block

Viscosity

Quality of the

test process

Number of remaining

errors

Software complexity

Physical and Software Systems: An Analogy

Dashpot

External force

To err is

Human

Rigid surface

Spring

Xequilibrium

physical systems laws of motion 1
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 (seem to) apply to testing because the number of errors does not change when no external effort is applied to the application.

physical systems laws of motion 2

..

r

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 [2]

Newton’s Second Law:

The relationship between an object's mass m, its acceleration a, and the applied force F is F = ma.

physical systems laws of motion 3
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 (mental) fatigue on the tester.

Unable to quantify this relationship.

cdm first postulate
CDM First Postulate

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.

cdm second postulate
CDM Second Postulate

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

errors.

Note: While keeping the effective test effort constant, a reduction in r requires an increase in workforce.

for an appropriate .

cdm third postulate
CDM Third Postulate

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.

state model

Force (effort) balance equation:

.

x(t) = Ax(t) + B u(t)

: Disturbance

State Model
computing the feedback question

Given:

r(T): the number of remaining errors at time T

r(T+T): the desired number of remaining errors at

time T+T

Question:

What changes to the process parameters will achieve the desired r(T+T) ?

Computing the feedback: Question
computing the feedback answer

Obtain the desired eigenvalue.

Computing the feedback: Answer

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:

computing the feedback calculations max

Given the constraint:

Computing the feedback-Calculations (max)

Compute the desired max

We know that the eigenvalues of our model are the roots of its characteristic polynomial of the A matrix.

a flow model of incremental software development test

Test

Authoring

Test

Code

Test

Verification

& Correction

Reg.

Cases

Feat.

Specs

Coding

Latent

Defects

Regression

Testing

Project

Code

Known

Defects

Code

Debugging

A Flow Model of Incremental Software Development/Test

Test

Specs

workforce allocation
Workforce Allocation
  • Workforce allocated to particular tasks
  • Effort is split across all active tasks
state model example equations
System State

Progress

Feature Coding (fc)

Code Debugging (dr)

Test Authoring (ta)

Test Debugging (td)

Regression Testing (rr)

Defect Model

Development

Testing

State-Model [Example] Equations
variable productivity equation
Variable Productivity Equation
  • Human Productivity
    • Workload Dependent (Csikszentmihalyi,’88)
  • rb – Base Work rate
  • c – Fractional size-dependent increase
  • wc – Current workload size
  • wn – Nominal workload size
the productivity eqns
Process Productivity (E.g. Feature Coding)

Defect Introduction

Defect Detection (Cangussu et al., ’02)

The “Productivity” Eqns.
control strategy
Control Strategy
  • Model Predictive Control
model predictive control
Model Predictive Control
  • Select Cost Functional
    • E.g.
      • Q1,Q2 := positive definite
  • Calculate
    • where S[xk, uk,k+P]  xpk,k+P