Abstract
We have proposed a new approach to software quality combining cleanroom methodologies and formal methods. Cleanroom emphasizes defect prevention rather than defect removal. Formal methods use mathematical and logical formalizations to find defects early in the software development lifecycle. These two methods have been used separately to improve software quality since the 1980's. The combination of the two methods may provide further quality improvements through reduced software defects. This result, in turn, may reduce development costs, improve time to market, and increase overall product excellence.Defects in computer software are costly. Their detection is usually postponed to the test phase, and their removal is also a very time consuming and expensive task. Cleanroom software engineering is a methodology which relies on preventing the defects, rather than removing them. It is based on incremental development and it emphasizes the development phase. An enhancement to this methodology is presented in this paper, which combines formal methods and cleanroom. The efficiency of the new model rests on an appropriate logical representation, to write the specification of the intended system. In the new model, design plans are formally verified before any implementation is done. The advantages of finding defects in the early stages are decreased cost and increased quality. Results show that, by using formal methods, a higher quality will be achieved and the software project can also benefit from the existing mechanized tools of these two techniques.
- Bowen, J. The Industrial Take-up of Formal Methods in Safety-Critical and Other Areas: A Perspective, In J. C. P. Woodcock and P. G. Larsen, editors, Proceedings of FME'93: Industrial Strength Formal Methods, LNCS 670. Springer-Verlag, 1993. Google ScholarDigital Library
- Deck, M. An Introduction to Cleanroom Software Engineering for Managers, Cleanroom Software Engineering Inc., Boulder, CO, USA. 1995.Google Scholar
- Hutter, D., Schairer, A. Towards an Evolutionary Formal Software Development, Proceedings of 16th Annual International Conference on Automated Software Engineering, Nov. 2001, pp. 417--420. Google ScholarDigital Library
- Kemp, K. Formal Methods Specification and Verification Guidebook for Software and Computer Systems, Volume I: Planning and Technology Insertion, NASA, 1998.Google Scholar
- Linger, R. C., Hevner, A. R. Achieving software quality through Cleanroom software engineering, Proceedings of the Twenty-Sixth Hawaii International Conference on System Sciences, Volume: IV, 5--8 Jan. 1993, pp. 740--748.Google ScholarCross Ref
- Mills, H. D., Dyer, M. and Linger, R. C. Cleanroom Software Engineering, IEEE Software, September 1987.Google ScholarDigital Library
- Neumann, P. G. Risks to the public in computers and related systems, ACM SIGSOFT Software Engineering Notes, Volume 28, Issue 3, (May 2003), pp. 5--9. Google ScholarDigital Library
- Oshana, R. Quality Software via a Cleanroom Methodology. Embedded Systems Programming Magazine, Sept. 1996, pp. 36--52.Google Scholar
- Palshikar, G. K. Applying formal specifications to real-world software development, IEEE Software, Volume: 18, issue: 6, Nov.-Dec. 2001, pp. 89--974. Google ScholarDigital Library
- Pfleeger, S. L., Hatton, L. Investigating the Influence of Formal Methods, IEEE Computer, Volume: 30 Issue: 2, Feb. 1997, pp. 33--43. Google ScholarDigital Library
- Quemada, J. Formal Description Techniques and Software Engineering: Some Reflections after 2 Decades of Research, Proceedings of FORTE 2004, LNCS 3235. 2004, pp. 33--42.Google ScholarCross Ref
Index Terms
- Quality, cleanroom and formal methods
Recommendations
Quality, cleanroom and formal methods
3-WoSQ: Proceedings of the third workshop on Software qualityWe have proposed a new approach to software quality combining cleanroom methodologies and formal methods. Cleanroom emphasizes defect prevention rather than defect removal. Formal methods use mathematical and logical formalizations to find defects early ...
Formal methods software engineering for the CARA system
This paper discusses the application of formal methods software engineering (FMSE) to the development of the Computer Automated Resuscitation A (CARA) medical device at Walter Reed Army Institute of Research. Because this system is potentially life ...
Semi-formal design of reliable mesh generation systems
A reliable mesh generation infrastructure is designed based on software engineering principles. Formal methods, software design documents and clear modular decomposition criteria are introduced to improve the quality of mesh generation software. The ...
Comments