2016
DOI: 10.1007/978-3-319-41528-4_22
|View full text |Cite
|
Sign up to set email alerts
|

Automatic Verification of Iterated Separating Conjunctions Using Symbolic Execution

Abstract: In permission logics such as separation logic, the iterated separating conjunction is a quantifier denoting access permission to an unbounded set of heap locations. In contrast to recursive predicates, iterated separating conjunctions do not prescribe a structure on the locations they range over, and so do not restrict how to traverse and modify these locations. This flexibility is important for the verification of random-access data structures such as arrays and data structures that can be traversed in multip… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
19
0

Year Published

2017
2017
2024
2024

Publication Types

Select...
7
1
1

Relationship

3
6

Authors

Journals

citations
Cited by 22 publications
(19 citation statements)
references
References 23 publications
0
19
0
Order By: Relevance
“…Furthermore, the postcondition on its own does not imply the final graph is completely marked. The crucial point here is that the proof in [24] does not prove the same thing as we do. As an aside, that proof is not about local reasoning; it does not use framing at all.…”
Section: The Frame Rulementioning
confidence: 68%
See 1 more Smart Citation
“…Furthermore, the postcondition on its own does not imply the final graph is completely marked. The crucial point here is that the proof in [24] does not prove the same thing as we do. As an aside, that proof is not about local reasoning; it does not use framing at all.…”
Section: The Frame Rulementioning
confidence: 68%
“…Remark: There is a recently published proof [24] that considers a similar graph marking algorithm. By supporting the construct of iterated separating conjunction [31], they managed to "verify challenging examples such as graph-marking algorithms that so far were beyond the scope of automated verifiers based on permission logics [such as SL and IDFs]".…”
Section: The Frame Rulementioning
confidence: 99%
“…The Union-Find case study exploits this power in several ways: we find that (say) reasoning about a complex potential function ( §6) or working with iterated separating conjunctions ( §7) is not significantly more difficult in Coq than on paper. In contrast, supporting iterated separating conjunctions in an automated program verifier is possible but challenging (Müller et al, 2016). The interactive approach to program verification has been explored in several projects, including Ynot (Nanevski et al, 2007(Nanevski et al, , 2008aChlipala et al, 2009), Bedrock (Chlipala, 2013), and CFML (Charguéraud, 2010(Charguéraud, , 2013.…”
Section: Separation Logic and Time Creditsmentioning
confidence: 99%
“…We assume that for any inhale or exhale statements, the permission expression p denotes a non-negative fraction. For simplicity, we restrict inhale and exhale statements to a single array location, but the extension to unboundedly-many locations from the same array is straightforward [37].…”
Section: Programming Languagementioning
confidence: 99%