paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Quiver: Guided Abductive Inference of Separation Logic Specifications in Coq

Quiver:在 Coq 中引导式溯因推断分离逻辑规约
PLDI 8(PLDI)2024匹配度 3/10 · 论文属于分离逻辑、Coq 基础性验证与规约溯因推断,虽与形式验证和规约推断相关,但不涉及 LLM/Agent、静态分析在 ML/Agentic 程序中的应用、浮点程序分析或贝叶斯程序分析,与用户当前核心研究方向交集有限。引用 3 inbox
Simon Spies, Lennard Gäher, Michael Sammler, Derek Dreyer
crossref: 2026-09-10

AI 速览

一句话:提出 Quiver,在 Coq 中以用户规约草图为引导,溯因推断分离逻辑功能正确性规约并同时进行基础性验证。

使用分离逻辑验证程序完整功能正确性已取得很大进展,甚至可在 Coq 等证明助手中产生基础性证明,但用户仍需承担沉重的规约编写负担:必须提供冗长、复杂且繁琐的分离逻辑规约。为此,作者提出 Quiver,首个既能推断分离逻辑功能正确性规约、又能同时在证明助手中基础性地验证其正确性的技术。Quiver 接受用户给出的规约草图作为引导,并通过推断补全草图;其核心是一种新的溯因演绎验证技术,将用于规约推断的溯因推理与用于基础验证的分离逻辑演绎自动化相结合。这样用户只需提供少量引导,显著少于传统基于分离逻辑的演绎验证。作者在多个案例研究(包括流行开源库代码)上评估了 Quiver。

问题
现有分离逻辑验证虽可自动化,但要求用户提供完整规约,规约编写开销大。
方法
Quiver 从用户规约草图出发,将溯因推理用于推断规约,并与分离逻辑演绎自动化结合,在 Coq 中同时完成基础性验证。
评估
在含流行开源库代码的多项案例研究上评估,表明用户引导需求显著低于传统演绎验证。
原文摘要(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.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot2503,
  title = {Quiver: Guided Abductive Inference of Separation Logic Specifications in Coq},
  author = {Simon Spies and Lennard Gäher and Michael Sammler and Derek Dreyer},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {PLDI},
  year = {2024},
  doi = {10.1145/3656413}
}