Software cybernetics progress and challenges
Download
1 / 33

Software Cybernetics: - PowerPoint PPT Presentation


  • 371 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:' - 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 l.jpg
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 l.jpg
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 l.jpg
Software Cybernetics

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


Sample problems l.jpg
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 l.jpg
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 l.jpg

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 l.jpg

Required

Quality

+

Effort

-

Observed

Quality

f(e)

Additional

effort

What is f ?

Closed Loop (feedback) Control

Specifications

Program


Sample problem scenario l.jpg

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 l.jpg

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 l.jpg

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 l.jpg
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 l.jpg
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 l.jpg
Details and Case Studies

  • Razorfish

  • Guidant Corporation

  • Sun Microsystems


Physical and software systems an analogy l.jpg

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 l.jpg
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 l.jpg

..

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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg

Force (effort) balance equation:

.

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

: Disturbance

State Model


Computing the feedback question l.jpg

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 l.jpg

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 l.jpg

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.


Computing the feedback calculations max26 l.jpg

We use the above equation to calculate the space of changes to w and such that the system maintains its desired eigenvalue.

f

Computing the feedback-Calculations (max)


A flow model of incremental software development test l.jpg

Test to

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 l.jpg
Workforce Allocation to

  • Workforce allocated to particular tasks

  • Effort is split across all active tasks


State model example equations l.jpg

System State to

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 l.jpg
Variable Productivity Equation to

  • 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 l.jpg

Process Productivity (E.g. Feature Coding) to

Defect Introduction

Defect Detection (Cangussu et al., ’02)

The “Productivity” Eqns.


Control strategy l.jpg
Control Strategy to

  • Model Predictive Control


Model predictive control l.jpg
Model Predictive Control to

  • Select Cost Functional

    • E.g.

      • Q1,Q2 := positive definite

  • Calculate

    • where S[xk, uk,k+P]  xpk,k+P


ad