5. What is it?
Formal design and requirements methods
+
Statistical Usage Testing
______________________________
Little or No Defects
6. Why Cleanroom?
O Quality
O Most suitable for critical applications
O Increased Productivity
O Reduces Costs
7. Cleanroom Methodology
O Requirements Analysis
O High-level Design
O Detailed Design
O Coding by increment
O Pretest by increment
O Statistical Testing by increment
8. Incremental Development
Cycle
O Early and continual quality assessment
O Increased user feedback
O Repair any process related problems
O Allow requirements changes
10. Cleanroom Principles - part 1
O Small teams
O independent specification, development, and
certification sub-teams
O Incremental development under statistical quality
control
O performance assessed during each increment
using measure like number of sequential error-
free test cases
O feedback is used for process improvement and
the development plan is adjusted as needed
11. Cleanroom Process Teams
O Specification team
O develops and maintains the system specification
O Development team
O develops and verifies software
O the software is not compiled or executes during
verification
O Certification team
O develops set of statistical test to exercise
software after development
O reliability growth models used to assess reliability
12. Cleanroom Principles - part 2
O Software development based on mathematical principles
O the box principle is used for specification and design
O formal verification is used to confirm correctness of
implementation of specification
O program correctness is verified by team reviews using
questionnaires
O Testing based on statistical principles
O operational usage profiles needed
O test cases are randomly generated from the usage
model
O failure data is interpreted using statistical models
15. Cleanroom Strategy - part 1
O Increment planning.
O The project plan is built around the incremental
strategy.
O Requirements gathering.
O Customer requirements are elicited and refined
for each increment using traditional methods.
O Box structure specification.
O Box structures isolate and separate the definition
of behavior, data, and procedures at each level of
refinement.
16. Cleanroom Strategy - part 2
O Formal design.
O Specifications (black-boxes) are iteratively refined
to become architectural designs (state-boxes) and
component-level designs (clear boxes).
O Correctness verification.
O Correctness questions are asked and answered,
formal mathematical verification is used as
required.
17. Cleanroom Strategy - part 3
O Code generation, inspection, verification.
O Box structures are translated into program
language; inspections are used to ensure
conformance of code and boxes, as well as
syntactic correctness of code; followed by
correctness verification of the code.
O Statistical test planning.
O A suite of test cases is created to match the
probability distribution of the projected product
usage pattern.
18. Cleanroom Strategy - part 4
O Statistical use testing.
O A statistical sample of all possible test cases is
used rather than exhaustive testing.
O Certification.
O Once verification, inspection, and usage testing
are complete and all defects removed, the
increment is certified as ready for integration.
20. Conclusion
O Key Characteristics of Cleanroom SE
O Incremental Development Life Cycle
O Defect Prevention: Quality Assessment thru
Statistical Testing
O Disciplined SE methods required to create
correct, verifiable software