FO-Complete Program Verification for Heap Logics

๐Ÿ“… 2025-04-09
๐Ÿ›๏ธ Proc. ACM Program. Lang.
๐Ÿ“ˆ Citations: 1
โœจ Influential: 0
๐Ÿ“„ PDF
๐Ÿค– AI Summary
This work addresses the lack of first-order completeness guarantees in heap program verification by introducing two novel logics that support implicit heap fragments: Frame Logic (FL) and its Separation Logic variant (SL-FL). By integrating quantifier instantiation with SMT solving, the proposed framework achieves, for the first time, first-order complete verification of heap-manipulating programs under a non-least fixed-point semantics. The key innovation lies in the development of a heap logic framework endowed with first-order completeness and a translation mechanism from SL-FL to FL that preserves this completeness property. Experimental evaluation using a prototype implementation on benchmark programs involving complex data structures demonstrates the expressiveness and effectiveness of the approach.

Technology Category

Application Category

๐Ÿ“ 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.
Problem

Research questions and friction points this paper is trying to address.

heap logics
FO-completeness
program verification
implicit heaplets
recursive definitions
Innovation

Methods, ideas, or system contributions that make the work stand out.

FO-complete verification
heap logics
frame logic
separation logic
implicit heaplets
๐Ÿ”Ž Similar Papers
No similar papers found.
A
Adithya Murali
University of Wisconsinโ€“Madison, USA
H
Hrishikesh Balakrishnan
University of Illinois Urbana-Champaign, Department of Computer Science, USA
Aaron Councilman
Aaron Councilman
PhD Candidate, University of Illinois at Urbana-Champaign
programming languages
P
P. Madhusudan
University of Illinois Urbana-Champaign, Department of Computer Science, USA