Putting Strong Linearizability in Context: Preserving Hyperproperties in Programs that Use Concurrent Objects

05/28/2019
by   Hagit Attiya, et al.
0

It has been observed that linearizability, the prevalent consistency condition for implementing concurrent objects, does not preserve some probability distributions. A stronger condition, called strong linearizability has been proposed, but its study has been somewhat ad-hoc. This paper investigates strong linearizability by casting it in the context of observational refinement of objects. We present a strengthening of observational refinement, which generalizes strong linearizability, obtaining several important implications. When a concrete concurrent object refining another, more abstract object - often sequential - the correctness of a program employing the concrete object can be verified by considering its behaviors when using the more abstract object. This means that trace properties of a program using the concrete object can be proved by considering the program with the abstract object. This, however, does not hold for hyperproperties, including many security properties and probability distributions of events. We define strong observational refinement, a strengthening of refinement that preserves hyperproperties, and prove that it is equivalent to the existence of forward simulations. We show that strong observational refinement generalizes strong linearizability. This implies that strong linearizability is also equivalent to forward simulation, and shows that strongly linearizable implementations can be composed both horizontally (i.e., locality) and vertically (i.e., with instantiation). For situations where strongly linearizable implementations do not exist (or are less efficient), we argue that reasoning about hyperproperties of programs can be simplified by strong observational refinement of abstract objects that are not necessarily sequential.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

07/30/2021

On Strong Observational Refinement and Forward Simulation

Hyperproperties are correctness conditions for labelled transition syste...
06/21/2018

Strict Linearizability and Abstract Atomicity

Linearizability is a commonly accepted consistency condition for concurr...
10/26/2021

Flexible Refinement Proofs in Separation Logic

Refinement transforms an abstract system model into a concrete, executab...
06/29/2021

Linearizable Implementations Suffice for Termination of Randomized Concurrent Programs

Strong adversaries obtain additional power when a linearizable object is...
04/22/2019

Translating between models of concurrency

Hoare's Communicating Sequential Processes (CSP) admits a rich universe ...
10/27/2020

Verified Secure Compilation for Mixed-Sensitivity Concurrent Programs

Proving only over source code that programs do not leak sensitive data l...
07/30/2020

Correctness by construction for probabilistic programs

The "correct by construction" paradigm is an important component of mode...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.