Ten commandments of formal methods
- 1 April 1995
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in Computer
- Vol. 28 (4), 56-63
- https://doi.org/10.1109/2.375178
Abstract
Producing correct, reliable software in systems of ever increasing complexity is a problem with no immediate end in sight. The software industry suffers from a plague of bugs on a near-biblical scale. One promising technique in alleviating this problem is the application of formal methods that provide a rigorous mathematical basis to software development. When correctly applied, formal methods produce systems of the highest integrity and thus are especially recommended for security- and safety-critical systems. Unfortunately, although projects based on formal methods are proliferating, the use of these methods is still more the exception than the rule, which results from many misconceptions regarding their costs, difficulties, and payoffs. Surveys of formal methods applied to large problems in industry help dispel these misconceptions and show that formal methods projects can be completed on schedule and within budget. Moreover, these surveys show that formal methods projects produce correct software (and hardware) that is well structured, maintainable, and satisfies customer requirements. Through observations of many recently completed and in-progress projects we have come up with ten guidelines that, if adhered to, greatly increase a project's chances for success.Keywords
This publication has 8 references indexed in Scilit:
- Formal methods in safety-critical standardsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Seven more myths of formal methodsIEEE Software, 1995
- Ten commandments of formal methodsComputer, 1995
- Formal methods technology transfer: Impediments and innovation (abstract)Lecture Notes in Computer Science, 1995
- Safety-critical systems, formal methods and standardsSoftware Engineering Journal, 1993
- The industrial take-up of formal methods in safety-critical and other areas: A perspectivePublished by Springer Nature ,1993
- Seven myths of formal methodsIEEE Software, 1990
- Reusability in Programming: A Survey of the State of the ArtIEEE Transactions on Software Engineering, 1984