Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cleanroom Software Engineering Crystal Donald. Origins Developed by Dr. Harlan Mills in 1987 Developed by Dr. Harlan Mills in 1987 Name derived from hardware.

Similar presentations


Presentation on theme: "Cleanroom Software Engineering Crystal Donald. Origins Developed by Dr. Harlan Mills in 1987 Developed by Dr. Harlan Mills in 1987 Name derived from hardware."— Presentation transcript:

1 Cleanroom Software Engineering Crystal Donald

2 Origins Developed by Dr. Harlan Mills in 1987 Developed by Dr. Harlan Mills in 1987 Name derived from hardware cleanrooms Name derived from hardware cleanrooms Goal is zero defect rate Goal is zero defect rate

3 What is it? Formal design and requirements methods + Statistical Usage Testing ______________________________ Little or No Defects

4 Why Cleanroom? Quality Quality Most suitable for critical applications Most suitable for critical applications Increased Productivity Increased Productivity Reduces Costs Reduces Costs

5 Cleanroom Method Steps Requirements Analysis Requirements Analysis High-level Design High-level Design Detailed Design Detailed Design Coding by increment Coding by increment Pretest by increment Pretest by increment Statistical Testing by increment Statistical Testing by increment

6 Incremental Development Cycle Early and continual quality assessment Early and continual quality assessment Increased user feedback Increased user feedback Repair any process related problems Repair any process related problems Allow requirements changes Allow requirements changes

7 Mathematically Based Design Referential Transparency (Linger, 1996) Referential Transparency (Linger, 1996) Mapping inputs/outputs of design = actual Mapping inputs/outputs of design = actual Similar to function mappings Similar to function mappings Box Structures Box Structures

8 Box Structures Map system inputs to system outputs Map system inputs to system outputs Black Box Black Box ((current stimulus, stimulus history)  response) State Box State Box ((c. stimulus, c. state)  (response, new state)) Clear Box Clear Box State transition procedures are defined explicitly

9 Correctness Verification Replaces unit testing and debugging Replaces unit testing and debugging No constraints on how code is written No constraints on how code is written Code vs. Specification Code vs. Specification Function theoretic static code analysis Function theoretic static code analysis Review done mentally and verbally Review done mentally and verbally Written proofs not required Written proofs not required No compiling of code No compiling of code

10 Statistical Usage Testing Description of how system will be used Description of how system will be used Defined for all possible code scenarios w/ probability of occurrence Defined for all possible code scenarios w/ probability of occurrence Hierarchical usage breakdown and probability distribution Hierarchical usage breakdown and probability distribution Concentrates on finding defects that are statistically most significant Concentrates on finding defects that are statistically most significant

11 Formal Methods Overlap Based on mathematical principles Based on mathematical principles Focused on 100% quality Focused on 100% quality F.M. – Complete view of req’ts in advance F.M. – Complete view of req’ts in advance F.M. – Model entire system at once for quality F.M. – Model entire system at once for quality C.R. – Model system incrementally C.R. – Model system incrementally F.M. – Logic as basis, C.R. – Function mapping F.M. – Logic as basis, C.R. – Function mapping FM and CR can be integrated for higher quality FM and CR can be integrated for higher quality

12 Comparison Typical Development Cleanroom Dev Specification usually incomplete for external behavior Precise and complete description for ext. behavior From specification, code is informal, debug to verify Box Structures used to refine and verify Failures are common and accepted Not accepted Attempted coverage, poor field reliability prediction Usage model based, predict field reliability

13 Capability Maturity Model (CMM) Overlap CR covers a larger number of (Key Process Areas) KPAs CR covers a larger number of (Key Process Areas) KPAs CMM has 5 Levels CMM has 5 Levels Cleanrooms has high correspondence with Levels 2-5 of CMM (No Ad-hoc processes) Cleanrooms has high correspondence with Levels 2-5 of CMM (No Ad-hoc processes)

14 Usage Considerations Small teams w/ peer review of work Small teams w/ peer review of work Time spent on design will be greater Time spent on design will be greater But will reduce testing But will reduce testing Training requirements Training requirements

15 Outside Software Must go through correctness verification Must go through correctness verification Possible introduction of “contaminant” Possible introduction of “contaminant” Likely re-engineering in Cleanroom format Likely re-engineering in Cleanroom format

16 Debate Advance process of software development Advance process of software development Theoretical foundation for SW development Theoretical foundation for SW developmentvs. Cleanroom is too radical for SW dev. Cleanroom is too radical for SW dev. Still too new and relatively unproven claims Still too new and relatively unproven claims

17 Conclusion Key Characteristics of Cleanroom SE Key Characteristics of Cleanroom SE Incremental Development Life Cycle Incremental Development Life Cycle Defect Prevention: Quality Assessment thru Statistical Testing Defect Prevention: Quality Assessment thru Statistical Testing Disciplined SE methods required to create correct, verifiable software Disciplined SE methods required to create correct, verifiable software

18 Resources http://www.uta.edu/cse/levine/fall99/cse53 24/cr/clean/page1.html UTA http://www.uta.edu/cse/levine/fall99/cse53 24/cr/clean/page1.html UTA http://www.uta.edu/cse/levine/fall99/cse53 24/cr/clean/page1.html http://www.uta.edu/cse/levine/fall99/cse53 24/cr/clean/page1.html http://www.dacs.dtic.mil/databases/url/key. php?keycode=64 DACS http://www.dacs.dtic.mil/databases/url/key. php?keycode=64 DACS http://www.dacs.dtic.mil/databases/url/key. php?keycode=64 http://www.dacs.dtic.mil/databases/url/key. php?keycode=64 http://www.criticaljunction.com/werbicki/SE NG623/Group/SENG623W03_Cleanroom. pdf Paper http://www.criticaljunction.com/werbicki/SE NG623/Group/SENG623W03_Cleanroom. pdf Paper http://www.criticaljunction.com/werbicki/SE NG623/Group/SENG623W03_Cleanroom. pdf http://www.criticaljunction.com/werbicki/SE NG623/Group/SENG623W03_Cleanroom. pdf


Download ppt "Cleanroom Software Engineering Crystal Donald. Origins Developed by Dr. Harlan Mills in 1987 Developed by Dr. Harlan Mills in 1987 Name derived from hardware."

Similar presentations


Ads by Google