Rely-Guarantee Reasoning for Causally Consistent Shared Memory (Extended Version)

05/15/2023
by   Ori Lahav, et al.
0

Rely-guarantee (RG) is a highly influential compositional proof technique for concurrent programs, which was originally developed assuming a sequentially consistent shared memory. In this paper, we first generalize RG to make it parametric with respect to the underlying memory model by introducing an RG framework that is applicable to any model axiomatically characterized by Hoare triples. Second, we instantiate this framework for reasoning about concurrent programs under causally consistent memory, which is formulated using a recently proposed potential-based operational semantics, thereby providing the first reasoning technique for such semantics. The proposed program logic, which we call Piccolo, employs a novel assertion language allowing one to specify ordered sequences of states that each thread may reach. We employ Piccolo for multiple litmus tests, as well as for an adaptation of Peterson's algorithm for mutual exclusion to causally consistent memory.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/19/2023

View-Based Axiomatic Reasoning for PSO (Extended Version)

Weak memory models describe the semantics of concurrent programs on mode...
research
09/01/2021

Concurrent matching logic

Abstract. Matching logic cannot handle concurrency. We introduce concurr...
research
01/15/2022

View-Based Owicki-Gries Reasoning for Persistent x86-TSO (Extended Version)

The rise of persistent memory is disrupting computing to its core. Our w...
research
04/11/2018

A denotational account of C11-style memory

We introduce a denotational semantic framework for shared-memory concurr...
research
10/26/2020

Taming x86-TSO Persistency (Extended Version)

We study the formal semantics of non-volatile memory in the x86-TSO arch...
research
12/20/2019

Formalizing Determinacy of Concurrent Revisions

Concurrent revisions is a concurrency control model designed to guarante...
research
07/09/2019

Handling localisation in rely/guarantee concurrency: An algebraic approach

The rely/guarantee approach of Jones extends Hoare logic with rely and g...

Please sign up or login with your details

Forgot password? Click here to reset