Affiliation:
1. MPI-SWS, Saarbrücken, Germany
Abstract
Over the past two decades, there has been a great deal of progress on verification of full functional correctness of programs using separation logic, sometimes even producing “foundational” proofs in proof assistants like Coq. Unfortunately, even though existing approaches to this problem provide significant support for automated verification, they still incur a significant
specification overhead
: the user must supply the specification against which the program is verified, and the specification may be long, complex, or tedious to formulate. In this paper, we introduce Quiver, the first technique for
inferring
functional correctness specifications in separation logic while simultaneously verifying foundationally that they are correct. To guide Quiver towards the final specification, we take hints from the user in the form of
a specification sketch
, and then complete the sketch using inference. To do so, Quiver introduces a new
abductive deductive verification
technique, which integrates ideas from abductive inference (for specification inference) together with deductive separation logic automation (for foundational verification). The result is that users have to provide some guidance, but significantly less than with traditional deductive verification techniques based on separation logic. We have evaluated Quiver on a range of case studies, including code from popular open-source libraries.
Publisher
Association for Computing Machinery (ACM)
Reference59 articles.
1. Aws Albarghouthi Isil Dillig and Arie Gurfinkel. 2016. Maximal specification synthesis. In POPL. ACM 789–801. https://doi.org/10.1145/2837614.2837628 10.1145/2837614.2837628
2. Andrew W. Appel. 2014. Program Logics for Certified Compilers. Cambridge University Press. https://www.cambridge.org/de/academic/subjects/computer-science/programming-languages-and-applied-logic/program-logics-certified-compilers
3. Biabduction (and Related Problems) in Array Separation Logic
4. Cristiano Calcagno Dino Distefano Peter O’Hearn and Hongseok Yang. 2019. Go Huge or Go Home: POPL’19 Most Influential Paper Retrospective. https://blog.sigplan.org/2020/03/03/go-huge-or-go-home-popl19-most-influential-paper-retrospective/
5. Cristiano Calcagno Dino Distefano Peter W. O’Hearn and Hongseok Yang. 2009. Compositional shape analysis by means of bi-abduction. In POPL. ACM 289–300. https://doi.org/10.1145/1480881.1480917 10.1145/1480881.1480917