Abstract
This paper presents a new technique for synthesizing circular compositional proofs of program correctness. Our technique uses abductive inference to decompose the proof into small lemmas (i.e., compositionality) and proves that each lemma is not the first one to fail (i.e., circularity). Our approach represents lemmas as small program fragments annotated with pre and post-conditions and uses different tools to discharge each different lemma. This approach allows us to combine the strengths of different verifiers and addresses scalability concerns, as each lemma concerns the correctness of small syntactic fragments of the program. We have implemented our proposed technique for generating circular compositional proofs and used four different program analysis tools to discharge the proof subgoals. We evaluate our approach on a collection of synthetic and real-world benchmarks and show that our technique can successfully verify applications that cannot be verified by any individual technique.
| Original language | English |
|---|---|
| Pages (from-to) | 535-547 |
| Number of pages | 13 |
| Journal | International Journal on Software Tools for Technology Transfer |
| Volume | 19 |
| Issue number | 5 |
| DOIs | |
| State | Published - 1 Oct 2017 |
Keywords
- Abductive inference
- Circular compositional reasoning
- Program verification
All Science Journal Classification (ASJC) codes
- Software
- Information Systems
Fingerprint
Dive into the research topics of 'Synthesis of circular compositional program proofs via abduction'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver