Abstract
A major issue in the activity of deductive program verification is the understanding of the reason why a proof fails. To help the user understand the problem and decide what needs to be fixed in the code or the specification, it is essential to provide means to investigate such a failure. We present our approach for the design and the implementation of counterexample generation within the SPARK 2014 environment, exhibiting values for the variables of the program where a given part of the specification fails to be validated. To produce a counterexample, we exploit the ability of SMT solvers to propose, when a proof of a formula is not found, a counter-model. Turning such a counter-model into a counterexample for the initial program is not trivial because of the many transformations leading from a given code and specification to a verification condition.
Cite
CITATION STYLE
Hauzar, D., Marché, C., & Moy, Y. (2016). Counterexamples from proof failures in SPARK. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9763, pp. 215–233). Springer Verlag. https://doi.org/10.1007/978-3-319-41591-8_15
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.