1 / 33

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

Download Presentation

Software Cybernetics: Progress and Challenges

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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.

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

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

  4. 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?

  5. 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?

  6. 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.

  7. Required Quality + Effort - Observed Quality f(e) Additional effort What is f ? Closed Loop (feedback) Control Specifications Program

  8. 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

  9. 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

  10. 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

  11. Challenges (Sources of difficulty)

  12. Overcoming the challenge: Understanding the problem • Partnership amongst researchers and practitioners. • Is the problem real? • Are the existing solutions adequate?

  13. 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.

  14. Details and Case Studies • Razorfish • Guidant Corporation • Sun Microsystems

  15. 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

  16. 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.

  17. .. 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.

  18. 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.

  19. 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.

  20. 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 .

  21. 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.

  22. Force (effort) balance equation: . x(t) = Ax(t) + B u(t) : Disturbance State Model

  23. 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

  24. 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:

  25. 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.

  26. 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)

  27. 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

  28. Workforce Allocation • Workforce allocated to particular tasks • Effort is split across all active tasks

  29. 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

  30. 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

  31. Process Productivity (E.g. Feature Coding) Defect Introduction Defect Detection (Cangussu et al., ’02) The “Productivity” Eqns.

  32. Control Strategy • Model Predictive Control

  33. Model Predictive Control • Select Cost Functional • E.g. • Q1,Q2 := positive definite • Calculate • where S[xk, uk,k+P]  xpk,k+P

More Related