Predicate Abstraction for Linked Data Structures
Alexander Bakst, Ranjit Jhala

TL;DR
This paper introduces Alias Refinement Types (ART), a novel method combining shape and logical reasoning to verify linked data structures more efficiently, reducing annotation effort significantly.
Contribution
The paper proposes ART, a new type-based approach that integrates alias and refinement types for precise heap reasoning and verification of data structures.
Findings
ART reduces annotation requirements by 79% compared to existing techniques.
ART is sound, translating types into separation logic assertions.
Empirical evaluation shows ART's effectiveness on data-structure benchmarks.
Abstract
We present Alias Refinement Types (ART), a new approach to the verification of correctness properties of linked data structures. While there are many techniques for checking that a heap-manipulating program adheres to its specification, they often require that the programmer annotate the behavior of each procedure, for example, in the form of loop invariants and pre- and post-conditions. Predicate abstraction would be an attractive abstract domain for performing invariant inference, existing techniques are not able to reason about the heap with enough precision to verify functional properties of data structure manipulating programs. In this paper, we propose a technique that lifts predicate abstraction to the heap by factoring the analysis of data structures into two orthogonal components: (1) Alias Types, which reason about the physical shape of heap structures, and (2) Refinement…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Software Engineering Research
