1 / 28

Newton's Law of Motion in Software Development Processes?

Newton's Law of Motion in Software Development Processes?. CS 690S Computer Science Seminar. Aditya P. Mathur (CS) in collaboration with … João Cangussu (CS) Ray. A. DeCarlo (ECE). Monday November 5, 2001. Research Question.

salene
Download Presentation

Newton's Law of Motion in Software Development Processes?

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. Newton's Law of Motion in Software Development Processes? CS 690S Computer Science Seminar • Aditya P. Mathur (CS) • in collaboration with … • João Cangussu (CS) • Ray. A. DeCarlo(ECE) Monday November 5, 2001 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 fundamental control problem (Ref: Control System Design by G. C. Goodwin et al., Prentice Hall, 2001) 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. 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. 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? Are there differences? 3. Understand the theory and practice of the control of physical systems. 4. Can we borrow from this theory? If “yes,” then proceed further, else drink coffee or tea and think of another research direction. 5. Adapt control theory to the control of SDP and develop models and methods to control the SDP. 6.Study the behavior of the models and methods in real-life settings. Software Process Control

  4. Research Methodology [2] • Improve the model and methods. • Repeat steps 6 and 7 until you are thoroughly bored or get rich. Software Process Control

  5. Required Quality + Effort - Observed Quality f(e) Additional effort What is f ? Feedback Control Specifications Program Software Process Control

  6. 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. Software Process Control

  7. Requirements Analysis Design Code/Unit test Integrate/Test System test More test Deploy Software Development Process: A Life Cycle Requirements Elicitation Not all feedback loops are shown. Software Process Control

  8. 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 Software Process Control

  9. r0 observed approximation r - number of remaining errors schedule set by the manager rf t- time cp2 cp3 cp4 cp5 cp6 cp7 cp8 cp9 cp1 t0 deadline Problem Scenario cpi = check point i Software Process Control

  10. sc r0 robserved(t) wf+wf Actual STP + +  ’ Initial Settings (wf,) rerror(t) Controller Test Manager w’f wf + wf+wf STP State Model rexpected(t) + sc r0 Our Approach Software Process Control

  11. Software Block Spring Force 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 Xcurrent Software Process Control

  12. 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? Software Process Control

  13. 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. Software Process Control

  14. .. r CDM’s First Law: The relationship between an complexity Sc of an applications, 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. Software Process Control

  15. 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. Software Process Control

  16. Assumption I: CDM’s First Law 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 derived from Newton’s Second Law of motion. Software Process Control

  17. Assumption II: CDM’s Second Law Analogy with the spring: 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 . Software Process Control

  18. Assumption III: CDM’s Third Law 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 . Software Process Control

  19. : Disturbance State Model Software Process Control

  20. Computing the feedback Software Process Control

  21. Case Study II: Razorfish Project Description Project Goal: translate 4 million lines of Cobol code to SAP/R3 A tool has been developed to achieve the 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%. Software Process Control

  22. Validation: Razorfish ProjectTesting Process continue testing yes = output 2 output 1 no run run modify SCobol Transformer SSAP R/3 input Select a Test Profile Software Process Control

  23. 85% reduction achieved. Case Study II: Razorfish Project Results If the process parameters are not altered then the goal is reached in about 35 weeks. Software Process Control

  24. Alternatives from Feedback: STP Quality Improving quality alone will not help in achieving the goal. Desired eigenvalue=-0.152 Software Process Control

  25. Desired eigenvalue=-0.152 Alternatives from Feedback: Workforce Changing the workforce alone can produce the desired results. Software Process Control

  26. Alternatives from Feedback: STP quality and workforce Set of valid choices for changing the quality and the workforce Software Process Control

  27. 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. Software Process Control

  28. 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. Ongoing Research Expansion of the model to include the entire SDP. Additional case studies. Software Process Control

More Related