-Suhas Nayak
What is it?
Formal design and requirements methods
+Statistical Usage Testing
______________________________Little or No Defects
Why Cleanroom?O QualityO Most suitable for critical applicationsO Increased ProductivityO Reduces Costs
Cleanroom Methodology
O Requirements AnalysisO High-level DesignO Detailed DesignO Coding by incrementO Pretest by incrementO Statistical Testing by increment
Incremental Development Cycle
O Early and continual quality assessment
O Increased user feedbackO Repair any process related problemsO Allow requirements changes
Formalspecification
Develop s/wincrement
Establishrerquirements
Deliversoftware
Frozenspecification
Requirements change request
Cleanroom Principles - part 1
O Small teamsO independent specification, development,
and certification sub-teamsO Incremental development under statistical
quality controlO 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
Cleanroom Process Teams
O Specification teamO develops and maintains the system
specificationO Development team
O develops and verifies softwareO the software is not compiled or executes during
verificationO Certification team
O develops set of statistical test to exercise software after development
O reliability growth models used to assess reliability
Cleanroom Principles - part 2
O Software development based on mathematical principlesO the box principle is used for specification and
designO formal verification is used to confirm correctness
of implementation of specificationO program correctness is verified by team reviews
using questionnairesO Testing based on statistical principles
O operational usage profiles neededO test cases are randomly generated from the usage
modelO failure data is interpreted using statistical models
Functional Specification
Modeling approach in cleanroom software engineering uses a method called box structure specification
OBlack BoxOState BoxOClear Box
Fig: Box Structure Refinement
BB1
BB 1.1
BB1.2
BB1.n
BB.1.1.1
BB1.1.2
BB1.1.3
SB1.1.1
CB1.1.1.1
CB1.1.1.2
CB1.1.1.3
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.
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.
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.
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.
Cleanroom Process Overview
Constructstructuredprogram
Definesoftware
increments
Formallyverifycode
Integrateincrement
Formallyspecifysystem
Developoperational
profileDesign
statisticaltests
Testintegrated
system
Error rework
ConclusionO Key Characteristics of Cleanroom SE
O Incremental Development Life CycleO Defect Prevention: Quality
Assessment thru Statistical TestingO Disciplined SE methods required to
create correct, verifiable software
ResourcesO Software Engineering – Roger S
PressmanO www.suhas-angelus/blogspot.com
Question Time!!