Graph explorer

Spatial Interpolants

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.

7 nodes8 linksoverview mapSpatial Interpolants
7 nodes8 links
Spatial Interpolants7 visible / 7 total nodes / 14 links
Related contextCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipAuthorshipWorks onAuthorshipAuthorshipAuthorshipTopic signalTopic signalWSpatial Interpolantspreprint / 2015AAws AlbarghouthiResearcherAJosh BerdineResearcherAByron CookResearcherAZachary KincaidResearcherTLogic in Computer Science2208 worksTProgramming Languages1239 works
PaperSignal 106 links

Spatial Interpolants

preprint / 2015

Open