Is proof more cost-effective than testing?
- 1 January 2000
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 26 (8) , 675-686
- https://doi.org/10.1109/32.879807
Abstract
This paper describes the use of formal development methods on an industrial safety-critical application. The Z notation was used for documenting the system specification and part of the design, and the SPARK1 subset of Ada was used for coding.However, perhaps the most distinctive nature of the project lies in the amount of proof that was carried out: proofs were carried out both at the Z level驴approximately 150 proofs in 500 pages驴and at the SPARK code level驴approximately 9,000 verification conditions generated and discharged. The project was carried out under UK Interim Defence Standards 00-55 and 00-56, which require the use of formal methods on safety-critical applications. It is believed to be the first to be completed against the rigorous demands of the 1991 version of these standards. The paper includes comparisons of proof with the various types of testing employed, in terms of their efficiency at finding faults. The most striking result is that the Z proof appears to be substantially more efficient at finding faults than the most efficient testing phase. Given the importance of early fault detection, we believe this helps to show the significant benefit and practicality of large-scale proof on projects of this kind.Keywords
This publication has 14 references indexed in Scilit:
- Documentation for safety critical softwarePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- What does industry need from formal specification techniques?Published by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- More Powerful Z Data Refinement: Pushing the State of the Art in Industrial RefinementPublished by Springer Nature ,1998
- FME '97: Industrial Applications and Strengthened Foundations of Formal MethodsPublished by Springer Nature ,1997
- Combining static worst-case timing analysis and program proofReal-Time Systems, 1996
- Using formal methods to develop an ATC information systemIEEE Software, 1996
- FME'96: Industrial Benefit and Advances in Formal MethodsPublished by Springer Nature ,1996
- CADi: An architecture for Z tools and its implementationSoftware: Practice and Experience, 1995
- An International Survey of Industrial Applications of Formal MethodsPublished by Springer Nature ,1993
- Mathematics as a Management Tool: Proof Rules for PromotionPublished by Springer Nature ,1990