Title
Towards a Program Logic for C11 Release-Sequences
Abstract
By accepting order weakening for memory operations, the C11 memory model allows C/C++ programs to take advantage of modern hardware architectures, where weak/relaxed memory models are now the norm. However, the weakened C11 memory model introduces many complex and counterintuitive behaviours, rendering it more difficult for people to understand or reason about concurrent C11 programs. Several program logics (RSL, GPS, FSL, GPS+) have been proposed over the last few years to support formal reasoning for C11 programs, but each of them deals with only a specific subset of C11 programs, mainly due to the high complexity of the weakened memory model. Notably none of these program logics supports the reasoning of release-sequences - a highly flexible synchronisation mechanism in C11. Very recently, Doko and Vafeiadis propose a way in their FSL++ logic to reason about C11 programs using release-sequences, but their solution is restricted to those scenarios where only atomic update operations are between the release head and the receiver. In this paper we propose a new program logic that offers full support for reasoning about C11 programs using release-sequences. Our proposed logic is built on top of our previous program logic GPS+, but with much finer control over the resource transmission by introducing restricted-shareable assertions and an enhanced protocol system. We also illustrate our approach by verifying release-sequence programs that existing logics would not be able to.
Year
DOI
Venue
2018
10.1109/TASE.2018.00012
2018 International Symposium on Theoretical Aspects of Software Engineering (TASE)
Keywords
Field
DocType
weak memory,C11 memory model,release-sequence,program logic
Counterintuitive,Synchronization,Formal reasoning,Computer science,Program logic,Theoretical computer science,Memory model,C11,Global Positioning System,Rendering (computer graphics)
Conference
ISBN
Citations 
PageRank 
978-1-5386-7306-5
0
0.34
References 
Authors
12
3
Name
Order
Citations
PageRank
Mengda He1103.59
Shengchao Qin271162.81
João Fernando Ferreira300.68