Quiver: Guided Abductive Inference of Separation Logic Specifications in Coq

被引:0
|
作者
Spies, Simon [1 ]
Gaeher, Lennard [1 ]
Sammler, Michael [1 ]
Dreyer, Derek [1 ]
机构
[1] MPI SWS, Saarland Informat Campus, Saarbrucken, Germany
关键词
specification inference; abduction; functional correctness; Iris; Coq; VERIFICATION;
D O I
10.1145/3656413
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页数:25
相关论文
共 23 条
  • [1] ABDUCTIVE INFERENCE IN PROBABILISTIC LOGIC PROGRAMS
    Simari, Gerardo I.
    Subrahmanian, V. S.
    [J]. TECHNICAL COMMUNICATIONS OF THE 26TH INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING (ICLP'10), 2010, 7 : 192 - 201
  • [2] Data-Driven Abductive Inference of Library Specifications
    Zhou, Zhe
    Dickerson, Robert
    Delaware, Benjamin
    Jagannathan, Suresh
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5 (OOPSLA):
  • [3] Verification of protocol specifications with separation logic
    Kiss, Tibor
    Craciun, Florin
    Pary, Bazil
    [J]. 2015 IEEE 11TH INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTER COMMUNICATION AND PROCESSING (ICCP), 2015, : 109 - 116
  • [4] ABDUCTIVE INFERENCE BASED IN MODELS. A RELATIONSHIP BETWEEN LOGIC AND COGNITION
    Ramirez Figueroa, Alejandro
    [J]. CRITICA-REVISTA HISPANOAMERICANA DE FILOSOFIA, 2011, 43 (129): : 3 - 29
  • [5] Uncovered butts and recovered rules: Sagging pants and the logic of abductive inference
    Morgado, Marcia A.
    [J]. CRITICAL STUDIES IN MENS FASHION, 2015, 2 (2-3) : 107 - 126
  • [6] Theorems for Free from Separation Logic Specifications
    Birkedal, Lars
    Dinsdale-Young, Thomas
    Gueneau, Armael
    Jaber, Guilhem
    Svendsen, Kasper
    Tzevelekos, Nikos
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5
  • [7] Charge! A framework for higher-order separation logic in Coq
    IT University of Copenhagen, Denmark
    [J]. Lect. Notes Comput. Sci., (315-331):
  • [8] Tactics for Proving Separation Logic Assertion in Coq Proof Assistant
    Lei, Siran
    Cheng, Mengqi
    Jiang, Jianguo
    [J]. ICVISP 2019: PROCEEDINGS OF THE 3RD INTERNATIONAL CONFERENCE ON VISION, IMAGE AND SIGNAL PROCESSING, 2019,
  • [9] Bayesian Inference of Linear Temporal Logic Specifications for Contrastive Explanations
    Kim, Joseph
    Muise, Christian
    Shah, Ankit
    Agarwal, Shubham
    Shah, Julie
    [J]. PROCEEDINGS OF THE TWENTY-EIGHTH INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE, 2019, : 5591 - 5598
  • [10] Annotation Inference for Separation Logic Based Verifiers
    Vogels, Frederic
    Jacobs, Bart
    Piessens, Frank
    Smans, Jan
    [J]. FORMAL TECHNIQUES FOR DISTRIBUTED SYSTEMS, 2011, 6722 : 319 - 333