CLEANROOM SOFTWARE ENGINEERING

The objective of the Cleanroom methodology is to achieve or approach zero defects with certified reliability. As described by Hausler (1994), the Cleanroom methodology provides a complete discipline within which software personnel can plan, specify, design, verify, code, test and certify software. In a Cleanroom development, correctness verification replaces unit testing and debugging. After coding is complete, the software immediately enters system test with no debugging. All test errors are accounted for from the first execution of the program with no private testing allowed. As opposed to many development processes, the role of system testing is not to test in quality; the role of system testing is to certify the quality of the software with respect to the systems specification. This process is built upon an incremental development approach. Increment N+1 elaborates on the top down design of increment N . The Cleanroom process is built upon function theory where programs are treated as rules for mathematical functions subject to stepwise refinement and verification. Cleanroom specifications and designs are built upon box structure specifications and design. Box structure specifications begin with a black-box specification in which the expected behavior of the system is specified in terms of the system stimuli, responses and transition rules. Black boxes are then translated into state-boxes which define encapsulated state data required to satisfy black box behavior. Clear box designs are finally developed which define the procedural design of services on state data to satisfy black box behavior. Team reviews are performed to verify the correctness of every condition in the specification. During the specification stage an expected usage profile is also developed, which assigns probabilities or frequency of expected use of the system components. During system correctness testing, the system is randomly tested based on the expected usage of the system. In this process, software typically enters system test with near zero defects. The Cleanroom process places greater emphasis on design and verification rather than testing. In this process errors are detected early in the life cycle, closer to the point of insertion of the error.

CLEANROOM REPORTS


DACS Home Page Software Tech News