2 Cleanroom Software Engineering A software development process intended to produce software with a certifiable level of reliability.The Cleanroom process was originally developed by Harlan Mills and several of his colleagues at IBMThe focus of the Cleanroom process is on defect prevention, rather than defect removalThe name Cleanroom was chosen to evoke the cleanrooms used in the electronics industry to prevent the introduction of defects during the fabrication of integrated circuits.
3 CleanRoom Software Engineering It emphasizes need to develop correctness into software as it being developed.It is different form classic analysis, design, test and debugging. The cleanroom has a different approach.It emphasizes rigor in specification and design and formal verification of each design using correctness proofs that are mathematically based.It also emphasizes on the techniques for statistical quality control, including testing that is based on customers use.
4 Some problems by Henderson Cleanroom is too technical and mathematicalIt advocates no unit testingIt requires rigorous applications
5 The cleanroom strategy A “pipeline of software increments”Developed by small independent software teams.Once functionality has been assigned to the software element of the system the pipeline is initiated.Some tasks occur
6 The cleanroom strategy Increment planningRequirement gatheringBox structure specification-describe functionality specificationFormal designCorrectness verificationCode generation, inspection and verificationStatistical test planningStatistical use testingcertification
7 What makes it different It makes use of statistical quality controlIt verifies specification using mathematical based proofTesting techniques to under cover errors
8 Functional specification Uses a model called box structure specificationA “box” hold the system or part at some level of details.The information in each box is enough for its refinement without depending on the other.Enable analysts to partition systems hierarically .
9 Three types of boxesBlack box- used to represent externally observed behavior observed of a system.State box- holds state data and operation. Input to sate box and output are reprsentedClear box- to model the procedural design that is implied by the data and operations.
10 Cleanroom design S.E heavily use structured programming. Used more Program data holds a set of abstractions that are called by a sub functions
11 Advantages of design verification Reduce verification to a finite processLets cleanroom verifies every line of design and codeNear zero defect levelProduces better codeDesign verification must be applied to the source code which is known as correctness verifcation
12 Cleanroom testing To validate the software requirements By demonstrating use –cases have been executed successfully
13 Cleanroom testing contd. Testing it the way users will.Cleanroom teams determine usage probability distribution of the software.Timing for test is recorded so that interval time may be determined.Using interval time the certification teams can compute Mane-time-to failure (MTTF)A long sequence conducted without failure the MMTF is low and software reliability is high.
14 Certification It implies reliability Its approach involve five steps: usage scenario, profile specified. Test generated from profile , failure data are recorded and analyzed, reliability is computed and certified.
15 Certification contd. It requires three models sampling model- random testcomponent model- componentsCertification model-overall