Counterexamples from proof failures in SPARK

D Hauzar, C Marché, Y Moy - … Conference, SEFM 2016, Held as Part of …, 2016 - Springer
Software Engineering and Formal Methods: 14th International Conference, SEFM …, 2016Springer
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 …
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.
Springer
Showing the best result for this search. See all results