arXiv · 1501.04100
Spatial Interpolants
Abstract
We propose Splinter, a new technique for proving properties of heap-manipulating programs that marries (1) a new separation logic-based analysis for heap reasoning with (2) an interpolation-based technique for refining heap-shape invariants with data invariants. Splinter is property directed, precise, and produces counterexample traces when a property does not hold. Using the novel notion of spatial interpolants modulo theories, Splinter can infer complex invariants over general recursive predicates, e.g., of the form all elements in a linked list are even or a binary tree is sorted. Furthermore, we treat interpolation as a black box, which gives us the freedom to encode data manipulation in any suitable theory for a given program (e.g., bit vectors, arrays, or linear arithmetic), so that our technique immediately benefits from any future advances in SMT solving and interpolation.
Explore related subjects
Keep this discovery
Aws Albarghouthi, Josh Berdine, Byron Cook, Zachary Kincaid. 2015-01-16. Spatial Interpolants. https://arxiv.org/abs/1501.04100
Cite the original work for its findings. Save a collection to share your selection of sources.