2011
DOI: 10.1145/1925844.1926415
|View full text |Cite
|
Sign up to set email alerts
|

A separation logic for refining concurrent objects

Abstract: Fine-grained concurrent data structures are crucial for gaining performance from multiprocessing, but their design is a subtle art. Recent literature has made large strides in verifying these data structures, using either atomicity refinement or separation logic with rely-guarantee reasoning. In this paper we show how the ownership discipline of separation logic can be used to enable atomicity refinement, and we develop a new rely-guarantee method that is localized to the definition of a data structure. We pre… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
12
0

Year Published

2012
2012
2018
2018

Publication Types

Select...
4
3

Relationship

0
7

Authors

Journals

citations
Cited by 15 publications
(12 citation statements)
references
References 32 publications
0
12
0
Order By: Relevance
“…Indeed, one might reasonably hope that effects could provide something of a 'simplifying lens', with refined types capturing things that would otherwise be extra model structure or more complex invariants, such that the combination does not lead to further complexity. The use of Brookes's trace model (also used by, for example, Turon and Wand [28]) already seems to bring some simplification compared to transition systems or resumptions.…”
Section: Discussionmentioning
confidence: 99%
“…Indeed, one might reasonably hope that effects could provide something of a 'simplifying lens', with refined types capturing things that would otherwise be extra model structure or more complex invariants, such that the combination does not lead to further complexity. The use of Brookes's trace model (also used by, for example, Turon and Wand [28]) already seems to bring some simplification compared to transition systems or resumptions.…”
Section: Discussionmentioning
confidence: 99%
“…Finally, there is a recent trend to generalise linearisability to general refinement of concurrent objects [10], [26], where the abstract level is not required to execute one abstract operation. We have not yet studied these theoretically interesting generalisations, since they are not needed for our examples.…”
Section: Discussionmentioning
confidence: 99%
“…Some authors have have presented constructive methods for developing fine-grained objects, dispensing with linearizability as a proof obligation [Turon and Wand 2011;Liang et al 2012]. Instead, they focus on maintenance of the observable behaviour of the abstract object directly.…”
Section: Linearizability and Observational Refinementmentioning
confidence: 99%