TY  - GEN
UR  - http://dx.doi.org/10.1145/1993498.1993563
ID  - discovery1360944
N2  - Program analysis and verification tools crucially depend on the ability to symbolically describe and reason about sets of program behaviors. Separation logic provides a promising foundation for dealing with heap manipulating programs, while the development of practical automated deduction/satisfiability checking tools for separation logic is a challenging problem. In this paper, we present an efficient, sound and complete automated theorem prover for checking validity of entailments between separation logic formulas with list segment predicates. Our theorem prover integrates separation logic inference rules that deal with list segments and a superposition calculus to deal with equality/aliasing between memory locations. The integration follows a modular combination approach that allows one to directly incorporate existing advanced techniques for first-order reasoning with equality, as well as account for additional theories, e.g., linear arithmetic, using extensions of superposition. An experimental evaluation of our entailment prover indicates speedups of several orders of magnitude with respect to the available state-of-the-art tools. © 2011 ACM.
A1  - Navarro Pérez, JA
A1  - Rybalchenko, A
EP  -  566
Y1  - 2011/06/04/
AV  - public
SP  - 556 
TI  - Separation logic + superposition calculus = heap theorem prover
N1  - This is the authors' accepted version of this published article. 
ER  -