Proceedings of the ACM on Programming Languages· 2026Q1
Abductive Inference of Separation Logic Specifications with Isorecursive User-Defined Predicates and Magic Wands
- 1citations
- Q1SCImago
- 2026year
Short summary
A novel abductive inference technique infers loop invariants using user-defined predicates and magic wands, enabling automated verification of complex heap-manipulating programs.
AI-generated from the title and abstract; the full text is not read.
Key points
- Introduces novel abductive inference for separation logic specifications.
- Combines user-defined predicates with magic wands to track data structure traversal.
- Infers auxiliary operations for manipulating predicates and wands.
- Achieves over 80% specification inference for memory safety verification in Viper.
AI-generated from the title and abstract; the full text is not read.
Abstract
Program verifiers based on separation logic, such as Gillian, VeriFast, and Viper, allow one to prove complex properties of heap-manipulating, concurrent programs. These tools automate a large part of the proof search, but require a substantial amount of annotations such as method pre- and postconditions and loop invariants. Inference techniques such as bi-abduction can alleviate this burden, but existing techniques are too restrictive to be used in expressive program verifiers. In particular, existing bi-abduction techniques do not support the magic wand connective, so that inference for iterative traversals of structures beyond list segments is limited. Moreover, they rely on an equirecursive interpretation of predicates, instead of the isorecursive interpretation used by most SMT-based verifiers. In this paper, we present a novel abductive inference that addresses these limitations. It infers loop invariants that combine user-defined predicates with magic wands to keep track of the part of a data structure still to be traversed and the remainder of the data structure, such that ownership of the entire structure is retained after the traversal. Moreover, our abduction technique is the first to infer the auxiliary operations required by verifiers to manipulate predicates and wands. We implemented our inference in Viper; our evaluation shows that our approach can infer over 80% of the specifications required to verify memory safety of a diverse benchmark set.
The authors' abstract, as published at the source. Proceedings of the ACM on Programming Languages, 2026 · DOI ↗
Continue with a free account
Ask the paper: 3 free questions a day about this paper; save it, get its citation, new summaries every day for your field. Takeaways are Premium.
Continue free on the webSign in with Google or Apple; no card needed. You come back to this paper.
On your phone:
Field: Artificial Intelligence
Artificial IntelligenceComputer Science