Fictional Separation Logic
- Jonas Buhrkal Jensen,
- Lars Birkedal
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-reviewPublication Information
Output type
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-reviewHost publication Subtitle
21st European Symposium on Programming, ESOP 2012, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2012, Tallinn, Estonia, March 24 - April 1, 2012. ProceedingsOriginal language
EnglishPages from-to (Number of pages)
Pages 377-396 (20 pages)Publication milestones
- Published - 2012
Publication status
Published - 2012
Volume
7211Publisher
Springer, United States, GermanyISBN (Print)
978-3-642-28868-5ISBN (Electronic)
978-3-642-28869-2Publication IDs
- Scopus: 84859131387
Host publication title
Lecture Notes in Computer ScienceHost publication editors
- Helmut Seidl
Abstract
Separation logic formalizes the idea of local reasoning for heap-manipulating programs via the frame rule and the separating conjunction P * Q, which describes states that can be split into \emph{separate} parts, with one satisfying P and the other satisfying Q. In standard separation logic, separation means physical separation. In this paper, we introduce \emph{fictional separation logic}, which includes more general forms of fictional separating conjunctions P * Q, where "*" does not require physical separation, but may also be used in situations where the memory resources described by P and Q overlap. We demonstrate, via a range of examples, how fictional separation logic can be used to reason locally and modularly about mutable abstract data types, possibly implemented using sophisticated sharing. Fictional separation logic is defined on top of standard separation logic, and both the meta-theory and the application of the logic is much simpler than earlier related approaches.
Publication metrics
PlumX
Captures
11
Citations
40
