Quiver: Guided abductive inference of separation logic specifications in coq

Spies S, Gäher L, Sammler MJ, Dreyer D. 2024. Quiver: Guided abductive inference of separation logic specifications in coq. Proceedings of the ACM on Programming Languages. 8(PLDI), 889–913.

Download (ext.)
OA https://doi.org/10.1145/3656413 [Published Version]

Journal Article | Published | English

Scopus indexed
Author
Spies, Simon; Gäher, Lennard; Sammler, Michael JoachimISTA; Dreyer, Derek
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.
Publishing Year
Date Published
2024-06-20
Journal Title
Proceedings of the ACM on Programming Languages
Volume
8
Issue
PLDI
Page
889-913
ISSN
IST-REx-ID

Cite this

Spies S, Gäher L, Sammler MJ, Dreyer D. Quiver: Guided abductive inference of separation logic specifications in coq. Proceedings of the ACM on Programming Languages. 2024;8(PLDI):889-913. doi:10.1145/3656413
Spies, S., Gäher, L., Sammler, M. J., & Dreyer, D. (2024). Quiver: Guided abductive inference of separation logic specifications in coq. Proceedings of the ACM on Programming Languages. Association for Computing Machinery. https://doi.org/10.1145/3656413
Spies, Simon, Lennard Gäher, Michael Joachim Sammler, and Derek Dreyer. “Quiver: Guided Abductive Inference of Separation Logic Specifications in Coq.” Proceedings of the ACM on Programming Languages. Association for Computing Machinery, 2024. https://doi.org/10.1145/3656413.
S. Spies, L. Gäher, M. J. Sammler, and D. Dreyer, “Quiver: Guided abductive inference of separation logic specifications in coq,” Proceedings of the ACM on Programming Languages, vol. 8, no. PLDI. Association for Computing Machinery, pp. 889–913, 2024.
Spies S, Gäher L, Sammler MJ, Dreyer D. 2024. Quiver: Guided abductive inference of separation logic specifications in coq. Proceedings of the ACM on Programming Languages. 8(PLDI), 889–913.
Spies, Simon, et al. “Quiver: Guided Abductive Inference of Separation Logic Specifications in Coq.” Proceedings of the ACM on Programming Languages, vol. 8, no. PLDI, Association for Computing Machinery, 2024, pp. 889–913, doi:10.1145/3656413.
All files available under the following license(s):
Copyright Statement:
This Item is protected by copyright and/or related rights. [...]

Link(s) to Main File(s)
Access Level
OA Open Access

Export

Marked Publications

Open Data ISTA Research Explorer

Search this title in

Google Scholar