Cleanroom software engineering is a process for developing and certifying high-reliability software. Combining theory-based engineering technologies in project management, incremental development, software specification and design, correctness verification, and statistical quality certification, the Cleanroom process answers today's call for more reliable software and provides methods for more cost-effective software development.Cleanroom originated with Harlan D. Mills, an IBM Fellow and a visionary in software engineering. Written by colleagues of Mills and some of the most experienced developers and practitioners of Cleanroom, Cleanroom Software Engineering provides a roadmap for software management, development, and testing as disciplined engineering practices. This book serves both as an introduction for those new to Cleanroom and as a reference guide for the growing practitioner community. Readers will discover a proven way to raise both quality and productivity in their software-intensive products, while reducing costs.Highlights Explains basic Cleanroom theory Introduces the sequence-based specification method Elaborates the full management, development, and certification process in a Cleanroom Reference Model (CRM) Shows how the Cleanroom process dovetails with the SEI's Capability Maturity Model for Software (CMM) Includes a large case study to illustrate how Cleanroom methods scale up to large projects.
Cited By
- Pi X, Shi J, Huang Y and Wei H Automated Mining and Checking of Formal Properties in Natural Language Requirements Knowledge Science, Engineering and Management, (75-87)
- Aguiar A, Restivo A, Correia F, Ferreira H and Dias J Live software development Companion Proceedings of the 3rd International Conference on the Art, Science, and Engineering of Programming, (1-6)
- Ahmed K, Newton M, Wen L and Sattar A Formalisation of the integration of behavior trees Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, (779-784)
- Snipes W, Augustine V, Nair A and Murphy-Hill E Towards recognizing and rewarding efficient developer work patterns Proceedings of the 2013 International Conference on Software Engineering, (1277-1280)
- Lin L, Poore J, Eschbach R, Hierons R and Robinson-Mallett C Augmenting sequence enumeration with string-rewriting for requirements analysis and behavioral specification Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering, (179-193)
- Linger R, Pleszkoch M, Prowell S, Sayre K and Ankrum T Computing legacy software behavior to understand functionality and security properties Proceedings of the Eighth Annual Cyber Security and Information Intelligence Research Workshop, (1-4)
- Lin L, Yang W and Lin J (2012). A layer-based method for rapid software development, Computers & Mathematics with Applications, 64:5, (1364-1375), Online publication date: 1-Sep-2012.
- Linger R, Pleszkoch M, Prowell S and Sayre K Behavior computation for smart grid software analysis Proceedings of the Seventh Annual Workshop on Cyber Security and Information Intelligence Research, (1-1)
- Popovic M and Basicevic I (2010). Test case generation for the task tree type of architecture, Information and Software Technology, 52:6, (697-706), Online publication date: 1-Jun-2010.
- van den Heuvel M, Bril R, van de Velde P and Lukkien J Towards verification-based development of in-vehicle safety critical software Proceedings of the 1st Workshop on Critical Automotive applications: Robustness & Safety, (35-38)
- Linger R, Pleszkoch M, Sayre K and Daly T Computing the behavior of malware Proceedings of the Sixth Annual Workshop on Cyber Security and Information Intelligence Research, (1-2)
- Dalton G, Edge K, Mills R and Raines R (2010). Analysing security risks in computer and Radio Frequency Identification (RFID) networks using attack and protection trees, International Journal of Security and Networks, 5:2/3, (87-95), Online publication date: 1-Mar-2010.
- Lin L, Prowell S and Poore J (2010). An axiom system for sequence-based specification, Theoretical Computer Science, 411:2, (360-376), Online publication date: 1-Jan-2010.
- Ferrer G (2009). A formal language and analysis tool for black box specifications, Journal of Computing Sciences in Colleges, 24:5, (12-18), Online publication date: 1-May-2009.
- Linger R, Prowell S and Sayre K Computing the behavior of malicious code with function extraction technology Proceedings of the 5th Annual Workshop on Cyber Security and Information Intelligence Research: Cyber Security and Information Intelligence Challenges and Strategies, (1-2)
- Pleszkoch M, Linger R and Hevner A (2008). Introducing function extraction into software testing, ACM SIGMIS Database: the DATABASE for Advances in Information Systems, 39:3, (41-50), Online publication date: 31-Jul-2008.
- Robinson-Mallett C, Hierons R, Poore J and Bauer T Using partial models to support the testing of distributed systems Proceedings of the 11th IASTED International Conference on Software Engineering and Applications, (48-56)
- Carter J and Poore J Sequence-based specification of feedback control systems in Simulink® Proceedings of the 2007 conference of the center for advanced studies on Collaborative research, (332-345)
- Bauer T, Bohr F, Landmann D, Beletski T, Eschbach R and Poore J From Requirements to Statistical Testing of Embedded Systems Proceedings of the 4th International Workshop on Software Engineering for Automotive Systems
- Kondoh H and Futatsugi K (2018). To use or not to use the goto statement, Science of Computer Programming, 60:1, (82-116), Online publication date: 1-Mar-2006.
- Hopcroft P and Broadfoot G Combining the Box Structure Development Method and CSP Proceedings of the 19th IEEE international conference on Automated software engineering, (340-345)
- Yan J, Wang J and Chen H Automatic Generation of Markov Chain Usage Models from Real-Time Software UML Models Proceedings of the Quality Software, Fourth International Conference, (22-31)
- Bowring J, Rehg J and Harrold M Active learning for automatic classification of software behavior Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis, (195-205)
- Bowring J, Rehg J and Harrold M (2004). Active learning for automatic classification of software behavior, ACM SIGSOFT Software Engineering Notes, 29:4, (195-205), Online publication date: 1-Jul-2004.
- Davis N, Humphrey W, Redwine Jr. S, Zibulski G and McGraw G (2004). Processes for Producing Secure Software, IEEE Security and Privacy, 2:3, (18-25), Online publication date: 1-May-2004.
- Ferrer G Teaching specification and verification of event-driven programs using cleanroom software engineering Proceedings of the 2nd annual conference on Mid-south college computing, (65-73)
- Prowell S and Poore J (2003). Foundations of Sequence-Based Software Specification, IEEE Transactions on Software Engineering, 29:5, (417-429), Online publication date: 1-May-2003.
- Smith S and Stoecklin S (2001). What we can learn from extreme programming, Journal of Computing Sciences in Colleges, 17:2, (144-151), Online publication date: 1-Dec-2001.
- Mead N, Linger R, McHugh J and Lipson H (2001). Managing Software Development for Survivable Systems, Annals of Software Engineering, 11:1, (45-78), Online publication date: 7-Nov-2001.
- Pretschner A, Lötzbeyer H and Philipps J Model Based Testing in Evolutionary Software Development Proceedings of the 12th International Workshop on Rapid System Prototyping
Index Terms
- Cleanroom software engineering: technology and process
Recommendations
Cleanroom software engineering for zero-defect software
ICSE '93: Proceedings of the 15th international conference on Software EngineeringCleanroom Software Development: An Empirical Evaluation
The Cleanroom software development approach is intended to produce highly reliable software by integrating formal methods for specification and design, nonexecution-based program development, and statistically based independent testing. In an empirical ...