2018
DOI: 10.1016/j.jlamp.2018.05.003
|View full text |Cite
|
Sign up to set email alerts
|

Instrumenting a weakest precondition calculus for counterexample generation

Abstract: A major issue in the activity of deductive program verification is to understand why automated provers fail to discharge a proof obligation. 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, exhibiting values for the variables of the program where a given part of the specification fails to be validat… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
14
0
2

Year Published

2019
2019
2024
2024

Publication Types

Select...
4
3
2

Relationship

4
5

Authors

Journals

citations
Cited by 17 publications
(16 citation statements)
references
References 25 publications
0
14
0
2
Order By: Relevance
“…A detailed introduction to Why3 is given in our extended report [4]. Among the recent features of Why3 of particular interest for our work are the ability to generate loop invariants and to produce counterexamples when a proof fails [8]. Indeed, the first of these features had to be improved in order to support our work on Ladder programs, this is a contribution that some of us made to Why3 [4].…”
Section: The Why3 Environmentmentioning
confidence: 99%
“…A detailed introduction to Why3 is given in our extended report [4]. Among the recent features of Why3 of particular interest for our work are the ability to generate loop invariants and to produce counterexamples when a proof fails [8]. Indeed, the first of these features had to be improved in order to support our work on Ladder programs, this is a contribution that some of us made to Why3 [4].…”
Section: The Why3 Environmentmentioning
confidence: 99%
“…Ideally, a counterexample captures in an understandable executable trace why a property cannot be proved, by exhibiting a consistent example where the property does not hold. In reality, after multiple person-year efforts to develop and improve counterexamples in the context of SPARK [7], there is still much to be desired here.…”
Section: Related and Future Workmentioning
confidence: 99%
“…Em adição, a programadora ao especificar o estado da aplicação juntamente com os seus invariantes de integridade, o Why3 consegue verificar se uma operação os pode quebrar ou não, dada a sua implementação. Nos casos em que o Why3 não consiga provar alguma asserção no programa, a plataforma é capaz de apresentar um contraexemplo [4]. Dito isto, é possível afirmar que o Why3 é capaz de realizar a análise de safety, sem ser necessário realizar qualquer alteração interna à plataforma.…”
Section: Cise3unclassified