Title | ||
---|---|---|
Spark 2014 And Gnatprove A Competition Report From Builders Of An Industrial-Strength Verifying Compiler |
Abstract | ||
---|---|---|
Extensive and expensive testing is the method most widely used for gaining confidence in safety-critical software. With a fewexceptions, such as SPARK, formal verification is rarely used in industry due to its high cost and level of skill required. The grand challenge of building a verifying compiler for static formal verification of programs aims at bringing formal verification to non-expert users of powerful programming languages. This challenge has nurtured competition and collaboration among verification tool builders; an example is the VerifyThis competition Huisman et al. (http://digbib.ubka.uni-karlsruhe.de/volltexte/1000034373, 2013). In this paper, we describe our approach to popularising formal verification in the design of the SPARK 2014 language and the associated formal verification tool GNATprove. In particular, we present our solution to combining tests and proofs, which provides a cost-competitive way to develop software to standards such as do-178. At the heart of our technique are executable contracts, and the ability to both test and prove those. We use running examples from the VerifyThis 2012 competition and discuss the results of using our tools on those problems. |
Year | DOI | Venue |
---|---|---|
2015 | 10.1007/s10009-014-0322-5 | INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER |
Keywords | DocType | Volume |
SPARK, Ada, Program verification, Verifying compiler, Deductive verification, Static analysis | Journal | 17 |
Issue | ISSN | Citations |
6 | 1433-2779 | 0 |
PageRank | References | Authors |
0.34 | 7 | 4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Duc L. N. Hoang | 1 | 21 | 5.76 |
Yannick Moy | 2 | 69 | 9.25 |
Angela Wallenburg | 3 | 26 | 3.46 |
Rod Chapman | 4 | 92 | 8.44 |