DOI: 10.1007/978-3-540-71070-7_4
|View full text |Cite
|
Sign up to set email alerts
|

Quantitative Separation Logic and Programs with Lists

Abstract: International audienceThis paper presents an extension of a decidable fragment of Separation Logic for singly-linked lists, defined by Berdine, Calcagno and O'Hearn [8]. Our main extension consists in introducing atomic formulae of the form ls k (x, y) describing a list segment of length k, stretching from x to y, where k is a logical variable interpreted over positive natural numbers, that may occur further inside Presburger constraints. We study the decidability of the full first-order logic combining unrest… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
20
0

Publication Types

Select...
6
1
1

Relationship

1
7

Authors

Journals

citations
Cited by 15 publications
(20 citation statements)
references
References 16 publications
0
20
0
Order By: Relevance
“…loop is entered ∧ϕ loop invariant holds on loop head ∧(y 6 = x 1 ) ∧ x 1 n 1 x 6 ∧ x 1 n 6 y 1 loop body ∧same y 1 ,n 1 ,n 6 ∧ same x 1 ,n 1 ,n 6 rest of the heap remains unchanged ⇒ (x 1 = null) no null-derefernce in the body ∧ϕ 6 loop invariant after executing loop body Here, ϕ 6 denotes the loop-invariant formula ϕ after executing the loop body (label L6), i.e., replacing all occurrences of x 1 , y 1 and n 1 in ϕ by x 6 , y 6 and n 6 , respectively. The formula V C loop defines a relation between three states: on entry to the procedure, at the beginning of a loop iteration and at the end of a loop iteration.…”
Section: Fig 2 Reversementioning
confidence: 99%
“…loop is entered ∧ϕ loop invariant holds on loop head ∧(y 6 = x 1 ) ∧ x 1 n 1 x 6 ∧ x 1 n 6 y 1 loop body ∧same y 1 ,n 1 ,n 6 ∧ same x 1 ,n 1 ,n 6 rest of the heap remains unchanged ⇒ (x 1 = null) no null-derefernce in the body ∧ϕ 6 loop invariant after executing loop body Here, ϕ 6 denotes the loop-invariant formula ϕ after executing the loop body (label L6), i.e., replacing all occurrences of x 1 , y 1 and n 1 in ϕ by x 6 , y 6 and n 6 , respectively. The formula V C loop defines a relation between three states: on entry to the procedure, at the beginning of a loop iteration and at the end of a loop iteration.…”
Section: Fig 2 Reversementioning
confidence: 99%
“…In general, the techniques used in proving decidability of Separation Logic are either proof-based ( [16,2]), or model-based ( [5,8]). It is well-known that automata theory, through various automata-logics connections, provides a unifying framework for proving decidability of various logics, such as (W)SkS, Presburger Arithmetic or MSO over certain classes of graphs.…”
Section: Introductionmentioning
confidence: 99%
“…However, [3] gives a small decidable fragment of separation logic on lists which has been further extended in [11] to include a restricted form of arithmetic. Symbolic execution with separation logic has been used in [4,5,8] to prove structural specifications for various list and tree programs.…”
Section: Related Workmentioning
confidence: 99%