arrow
Return

A Program Logic for Reasoning About C11 Programs With Release-Sequences

delete2020-01-01
delete0
delete
OA
AI
M
Mengda He
S
Shengchao Qin *
Z
Zhiwu Xu
DOI:10.1109/ACCESS.2020.3024681delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
With the popularity of weak/relaxed memory models widely used in modern hardware architectures, the C11 standard introduced a language level weak memory model, A.K.A the C11 memory model, that allows C/C++ programs to exploit the optimisation provided by the hardware platform in memory ordering and gain benefits in efficiency. On the other hand, with the weakened memory ordering allowed, more program behaviours are introduced, among which some are counterintuitive and make it even more challenging for programmers to understand or to formally reason about C11 multithread programs. To support the formal verification of the C11 weak memory programs, several program logics, e.g. RSL, GPS, FSL, and GPS+, have been developed during the last few years. However, due to the complexity of the weakened memory model, some intricate C11 features still cannot be handled in these logics. A notable example is the lack of supporting to the reasoning about a highly flexible C11 synchronisation mechanism, the release-sequence. Recently, the FSL++ logic proposed by Doko and Vafeiadis moves one step forward to address this problem, but FSL++ only considers the scenarios with atomic update operations in a release-sequence. In this article, we propose a new program logic, GPS++, that supports the reasoning about C11 programs with fully featured release-sequences. We also introduce fractional read permissions to GPS++, which are essential to the reasoning about a large number of real-world concurrent programs. GPS++ is a successor of our previous program logic GPS+, but it comes with much finer control over the resource transmission with the newly introduced restricted-shareable assertions and an enhanced protocol system. A more sophisticated resource model is devised to support the soundness proof of our new program logic. We also demonstrate GPS++ in action by verifying C11 programs with release-sequences that could not be handled by existing program logics.
Keywords:
Cognition
Synchronization
Hardware
Global Positioning System
Instruction sets
Load modeling
Radio frequency
Program logic
formal semantics
program verification
C11 weak memory model
release-sequence
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Access cover
IEEE Access
IF:
3.6
Papers:
9.8W
Citations:
29.4W

Organization

U
university of teesside
Scholars:
1.6K
Papers: 1.8K
Citations: 3
S
shenzhen university
Scholars:
4.6W
Papers: 3.4W
Citations: 72
Cited Papers

Cited Papers

Exposure to Residential Indoor Air Induces Heritable DNA Mutations in Mice
err2009-11-02
err0
PREAI
errYin Zhou; Yunru Liu; Wen Qiu; Jinyan Zeng; Xiaodong Chen; Hanzhi Zhou; Aiping Li; Jianwei Zhou
errShare
errSave
A new jeholornithiform exhibits the earliest appearance of the fused sternum and pelvis in the evolution of avialan dinosaurs
err2020-09-01
err0
PREAI
errXuri Wang; Jiandong Huang; Martin Kundrát; Andrea Cau; Xiaoyu Liu; Yang Wang; Shubin Ju
errShare
errSave
Reverse pulse voltammetry and polarography: a general analytical solution
err1994-12-01
err0
PREAI
errLuis Camacho; Juan José Ruiz; Carmen Serna; Angela Molina; Francisco Martínez-Ortiz
errShare
errSave
Early detection of mercury contamination by fluorescence induction of photosynthetic bacteria
err2010-07-22
err0
PREAI
errEmese Asztalos; Francesca Italiano; Francesco Milano; Péter Maróti; Massimo Trotta
errShare
errSave
Social and political influences on agricultural systems
err2008-06-30
err0
PREAI
errDavid W. Archer; Julie Dawson; Urs P. Kreuter; Mary Hendrickson; John M. Halloran
errShare
errSave
err
IF0
err
err0
PREAI
err
errShare
errSave
researcher View more