Results 1 -
5 of
5
Expressive Completeness of Separation Logic With Two Variables and No Separating Conjunction ∗
"... We show that first-order separation logic with one record field restricted to two variables and the separating implication (no separating conjunction) is as expressive as weak second-order 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 first-order separation logic with one record field restricted to two variables and the separating implication (no separating conjunction) is as expressive as weak second-order 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 by-product identify the smallest fragment of separation logic known to be undecidable: first-order 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 semi-decision proce-dure for deciding unsatisfiability of formulas in a fragment of separation logic that includes predicates describing points-to assertions (x 7 → y), acyclic-li ..."
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 semi-decision proce-dure for deciding unsatisfiability of formulas in a fragment of separation logic that includes predicates describing points-to assertions (x 7 → y), acyclic-list-segment assertions(ls(x, y)), logical-and, logical-or, separat-ing conjunction, and septraction (the DeMorgan-dual of separating im-plication). The fragment that we consider allows negation at leaves, and includes formulas that lie outside other separation-logic fragments con-sidered 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 over-approximates the set of satisfying models of a given formula. If the over-approximation 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 Hoare-style proof systems about programs with point-ers, and there is an ongoing quest for understanding its complexity and expressive power. Herein, we show that first-order 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 Hoare-style proof systems about programs with point-ers, and there is an ongoing quest for understanding its complexity and expressive power. Herein, we show that first-order separation logic with one record field restricted to two variables and the separating impli-cation (no separating conjunction) is as expressive as weak second-order logic, substantially sharpening a previous result. Capturing weak second-order logic with such a restricted form of separation logic requires substantial updates to known proof techniques. We develop these, and as a by-product identify the smallest fragment of separation logic known to be undecidable: first-order 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 semi-decision procedure for checking unsatisfiability of formulas in a fragment of separation logic that includes points-to as-sertions (x 7 → y), acyclic-list-segment 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 semi-decision procedure for checking unsatisfiability of formulas in a fragment of separation logic that includes points-to as-sertions (x 7 → y), acyclic-list-segment assertions (ls(x, y)), logical-and, logical-or, separating conjunction, and septrac-tion (the DeMorgan-dual of separating implication). The fragment that we consider allows negation at leaves, and in-cludes formulas that lie outside other separation-logic frag-ments considered in the literature. The semi-decision procedure is designed using con-cepts from abstract interpretation. The procedure uses an abstract domain of shape graphs to represent a set of heap structures, and computes an abstraction that over-approximates the set of satisfying models of a given formula. If the over-approximation is empty, then the formula is un-satisfiable. We have implemented the method, and evaluated it on a set of formulas taken from the literature. The implementa-tion is able to establish the unsatisfiability of formulas that cannot be handled by previous approaches.