Results 1 
5 of
5
Expressive Completeness of Separation Logic With Two Variables and No Separating Conjunction ∗
"... We show that firstorder separation logic with one record field restricted to two variables and the separating implication (no separating conjunction) is as expressive as weak secondorder logic, substantially sharpening a previous result. Capturing weak secondorder logic with such a restricted form ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
We show that firstorder separation logic with one record field restricted to two variables and the separating implication (no separating conjunction) is as expressive as weak secondorder logic, substantially sharpening a previous result. Capturing weak secondorder logic with such a restricted form of separation logic requires substantial updates to known proof techniques. We develop these, and as a byproduct identify the smallest fragment of separation logic known to be undecidable: firstorder separation logic with one record field, two variables, and no separating conjunction.
Satisfiability modulo abstraction for separation logic with linked lists
, 2014
"... Abstract. Separation logic is an expressive logic for reasoning about heap structures in programs. This paper presents a semidecision procedure for deciding unsatisfiability of formulas in a fragment of separation logic that includes predicates describing pointsto assertions (x 7 → y), acyclicli ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
(Show Context)
Abstract. Separation logic is an expressive logic for reasoning about heap structures in programs. This paper presents a semidecision procedure for deciding unsatisfiability of formulas in a fragment of separation logic that includes predicates describing pointsto assertions (x 7 → y), acycliclistsegment assertions(ls(x, y)), logicaland, logicalor, separating conjunction, and septraction (the DeMorgandual of separating implication). The fragment that we consider allows negation at leaves, and includes formulas that lie outside other separationlogic fragments considered in the literature. interpretation. The procedure uses an abstract domain of shape graphs to represent a set of heap structures, and computes an abstraction that overapproximates the set of satisfying models of a given formula. If the overapproximation is empty, then the formula is unsatisfiable. We have implemented the method, and evaluated it on a set of formulas taken from the literature. The implementation is able to establish the unsatisfiability of formulas that cannot be handled by other existing approaches. 1
Expressive Completeness of Separation Logic With Two Variables and
"... Separation logic is used as an assertion language for Hoarestyle proof systems about programs with pointers, and there is an ongoing quest for understanding its complexity and expressive power. Herein, we show that firstorder separation logic with one record field restricted to two variables and ..."
Abstract
 Add to MetaCart
(Show Context)
Separation logic is used as an assertion language for Hoarestyle proof systems about programs with pointers, and there is an ongoing quest for understanding its complexity and expressive power. Herein, we show that firstorder separation logic with one record field restricted to two variables and the separating implication (no separating conjunction) is as expressive as weak secondorder logic, substantially sharpening a previous result. Capturing weak secondorder logic with such a restricted form of separation logic requires substantial updates to known proof techniques. We develop these, and as a byproduct identify the smallest fragment of separation logic known to be undecidable: firstorder separation logic with one record field, two variables, and no separating conjunction. Because we forbid ourselves the use of many syntactic resources, this underscores even further the power of separating implication on concrete heaps.
Mathematical Logic—Mechanical theorem proving
"... Separation logic is an expressive logic for reasoning about heap structures in programs. This paper presents a semidecision procedure for checking unsatisfiability of formulas in a fragment of separation logic that includes pointsto assertions (x 7 → y), acycliclistsegment assertions (ls(x, y)) ..."
Abstract
 Add to MetaCart
(Show Context)
Separation logic is an expressive logic for reasoning about heap structures in programs. This paper presents a semidecision procedure for checking unsatisfiability of formulas in a fragment of separation logic that includes pointsto assertions (x 7 → y), acycliclistsegment assertions (ls(x, y)), logicaland, logicalor, separating conjunction, and septraction (the DeMorgandual of separating implication). The fragment that we consider allows negation at leaves, and includes formulas that lie outside other separationlogic fragments considered in the literature. The semidecision procedure is designed using concepts from abstract interpretation. The procedure uses an abstract domain of shape graphs to represent a set of heap structures, and computes an abstraction that overapproximates the set of satisfying models of a given formula. If the overapproximation is empty, then the formula is unsatisfiable. We have implemented the method, and evaluated it on a set of formulas taken from the literature. The implementation is able to establish the unsatisfiability of formulas that cannot be handled by previous approaches.