arXiv · 2504.15844
Sound and Complete Invariant-Based Heap Encodings (Technical Report)
Abstract
Verification of programs operating on heap-allocated data structures, for instance lists or trees, poses significant challenges due to the potentially unbounded size of such data structures. We present time-indexed heap invariants, a novel invariant-based heap encoding leveraging uninterpreted predicates and prophecy variables to reduce verification of heap-manipulating programs to verification of programs over integers only. Our encoding of heap is general and agnostic to specific data structures. To the best of our knowledge, our approach is the first heap invariant-based method that achieves both soundness and completeness. We provide formal proofs establishing the correctness of our encodings. Through an experimental evaluation, we demonstrate that time-indexed heap invariants significantly extend the capability of existing verification tools, allowing automatic verification of programs with heap that were previously out of reach for state-of-the-art tools.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Zafer Esen, Philipp Rümmer, Tjark Weber. 2025-04-22. Sound and Complete Invariant-Based Heap Encodings (Technical Report). https://doi.org/10.1145/3798228
Cite the original work for its findings. Save a collection to share your selection of sources.