paperbot · PL 论文追踪

全部论文 待读 收藏

P2 FO-Complete Program Verification for Heap Logics

堆逻辑的 FO-完全程序验证
OOPSLA 9(OOPSLA1)2025匹配度 3/10 · 论文属于程序验证与形式语义领域,提出 heap logics 的 FO-完全性验证方法,但既不涉及 LLM/Agent 与静态分析或形式化验证的交叉,也不涉及浮点程序分析或贝叶斯程序分析,与用户当前研究画像的核心交叉方向匹配度较低,仅可作为形式验证背景参考。引用 0 inbox
Adithya Murali, Hrishikesh Balakrishnan, Aaron Councilman, P. Madhusudan
crossref: 2026-09-10

AI 速览

一句话:提出 FO-完全性标准,并给出首个支持隐式 heaplet、可 FO-完全验证的 frame logic 与 separation logic 及 SMT 验证方法。

针对表达力强的堆逻辑程序验证本质上不完备的问题,论文提出将算法技术置于 FO-完全性这一更稳健的完备性标准之下:若递归定义按 fixpoint(而非 least fixpoint)解释时定理有效,系统最终应能证明。作者总结设计此类逻辑的原则,并给出首批具有隐式 heaplet 且可 FO-完全验证的堆逻辑:frame logic (FL) 与受 FL 语义启发的 separation logic (SL-FL)。他们提出一种适合 FO-完全推理的验证条件生成技术,通过量词实例化与 SMT 求解器实现。原型工具在数据结构操作基准上展示了逻辑表达力与验证效果。

问题
表达力强的堆逻辑程序验证不可避免不完备;如何为这类逻辑的算法验证建立更稳健的完备性保证。
方法
定义 FO-完全性,设计 FL 与 SL-FL 两种隐式 heaplet 堆逻辑,并给出基于量词实例化与 SMT 的验证条件生成技术。
评估
实现原型工具,在操作数据结构的基准套件上评估逻辑表达力与验证技术的有效性。
原文摘要(Abstract)

Program verification techniques for expressive heap logics are inevitably incomplete. In this work we argue that algorithmic techniques for reasoning with expressive heap logics can be held up to a different robust theoretical standard for completeness: FO-Completeness. FO-completeness is a theoretical guarantee that all theorems that are valid when recursive definitions are interpreted as fixpoint definitions (instead of least fixpoint) are guaranteed to be eventually proven by the system. We illustrate a set of principles to design such logics and develop the first two heap logics that have implicit heaplets and that admit FO-Complete program verification. The logics we develop are a frame logic (FL) and a separation logic (SL-FL) that has an alternate semantics inspired by frame logic. We show a verification condition generation technique that is amenable to FO-complete reasoning using quantifier instantiation and SMT solvers. We implement tools that realize our technique and show the expressiveness of our logics and the efficacy of the verification technique on a suite of benchmarks that manipulate data structures.

链接与引用

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

BibTeX
@article{paperbot3199,
  title = {FO-Complete Program Verification for Heap Logics},
  author = {Adithya Murali and Hrishikesh Balakrishnan and Aaron Councilman and P. Madhusudan},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA1},
  year = {2025},
  doi = {10.1145/3720447}
}