7,068 research outputs found
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.Comment: Short version published in ESOP 201
On the Complexity of Finding Second-Best Abductive Explanations
While looking for abductive explanations of a given set of manifestations, an
ordering between possible solutions is often assumed. The complexity of
finding/verifying optimal solutions is already known. In this paper we consider
the computational complexity of finding second-best solutions. We consider
different orderings, and consider also different possible definitions of what a
second-best solution is
- …