2020
DOI: 10.1145/3408998
|View full text |Cite
|
Sign up to set email alerts
|

Separation logic for sequential programs (functional pearl)

Abstract: This paper presents a simple mechanized formalization of Separation Logic for sequential programs. This formalization is aimed for teaching the ideas of Separation Logic, including its soundness proof and its recent enhancements. The formalization serves as support for a course that follows the style of the successful Software Foundations series, with all the statement and proofs formalized in Coq. This course only assumes basic knowledge of λ-calculus, semantics and logics, and therefore should be accessible … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
17
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
4
2

Relationship

0
6

Authors

Journals

citations
Cited by 21 publications
(17 citation statements)
references
References 84 publications
0
17
0
Order By: Relevance
“…In this way, the process of implementing the translation was not strongly tied to the choice of benchmarks, with only a few examples needed to test the implementation of the rules before the entire milestone would be implemented. The fact that we saw the same milestones across all backends suggests that our experience will generalise to other targets (Charguéraud 2020;Chlipala 2011).…”
Section: Lessons Learntmentioning
confidence: 51%
“…In this way, the process of implementing the translation was not strongly tied to the choice of benchmarks, with only a few examples needed to test the implementation of the rules before the entire milestone would be implemented. The fact that we saw the same milestones across all backends suggests that our experience will generalise to other targets (Charguéraud 2020;Chlipala 2011).…”
Section: Lessons Learntmentioning
confidence: 51%
“…Finally, let ⊤ ⊤ be an aine top [5], i.e., an assertion with ⊢ ⊤ ⊤ and ⊤ ⊤ ⋆ ⊤ ⊤ = ⊤ ⊤, which captures resources that can be safely discarded. We deine the Hoare triple {P} c {Q} to hold if:…”
Section: Reasoning Setupmentioning
confidence: 99%
“…Regarding the semantics of an inductive heap predicate, we follow the standard least fixed point semantics [1] by interpreting an inductive predicate symbol P as the least fixed point P of a monotone operator constructed from its inductive definition. We follow the literature to use separation logic [5,19,44] to verify the functional correctness of a program w.r.t. its specification.…”
Section: Program Verification Using Separation Logicmentioning
confidence: 99%
“…In this section, we do not present separation logic rules due to the page limit. Interested readers could refer to [5,19,44].…”
Section: Program Verification Using Separation Logicmentioning
confidence: 99%