2015
DOI: 10.1145/2813885.2737964
|View full text |Cite
|
Sign up to set email alerts
|

Mechanized verification of fine-grained concurrent programs

Abstract: Efficient concurrent programs and data structures rarely employ coarse-grained synchronization mechanisms (i.e., locks); instead, they implement custom synchronization patterns via fine-grained primitives, such as compare-and-swap. Due to sophisticated interference scenarios between threads, reasoning about such programs is challenging and error-prone, and can benefit from mechanization.In this paper, we present the first completely formalized framework for mechanized verification of full functional correctnes… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
9
0

Year Published

2017
2017
2021
2021

Publication Types

Select...
6
2

Relationship

1
7

Authors

Journals

citations
Cited by 31 publications
(12 citation statements)
references
References 46 publications
0
9
0
Order By: Relevance
“…FCSL (Sergey et al, 2015) takes an opposite approach to our base logic. To ease reasoning about programs in a proof assistant, they avoid reasoning in separation logic as much as possible, and reason mostly in the ambient logic (in their case, the Coq logic).…”
Section: Minimal Base Logicmentioning
confidence: 99%
“…FCSL (Sergey et al, 2015) takes an opposite approach to our base logic. To ease reasoning about programs in a proof assistant, they avoid reasoning in separation logic as much as possible, and reason mostly in the ambient logic (in their case, the Coq logic).…”
Section: Minimal Base Logicmentioning
confidence: 99%
“…There is also a vast body of prior work on Coq-based Proof Frameworks for program correctness. Systems like YNot [Malecha et al 2011], based on Hoare Type Theory, Iris [Jung et al 2016], VST [Appel 2014], and FCSL [Sergey et al 2015], all based on concurrent separation logic, and CertiKOS [Gu et al 2016] [Gu et al 2019], which uses certified abstraction layers, have had major success in the field of large scale program verification. Those models typically rely on smallstep, relationally-specified operational semantics, and are especially useful for reasoning about concurrent programsÐa domain that is still being explored for ITrees.…”
Section: Related Workmentioning
confidence: 99%
“…To date, numerous proof frameworks have been developed to facilitate these kinds of verification efforts. In the realm of Coq, prominent examples include YNot [Malecha et al 2011], FCSL [Sergey et al 2015], VST [Appel 2014] and Iris [Jung et al 2016]. In the context of F ★ , Dijkstra monads [Swamy et al 2013] have been shown to be an effective way to reason about (impure) programs.…”
Section: Introductionmentioning
confidence: 99%
“…Raad et al [38] verified four concurrent graph algorithms in the context of CoLoSL, but the proofs have not been automated. Sergey et al [42] verified a concurrent spanning tree algorithm, but interactively, through an embedding in Coq.…”
Section: Related Workmentioning
confidence: 99%