DeepAI AI Chat
Log In Sign Up

Visibility Reasoning for Concurrent Snapshot Algorithms

10/06/2021
by   Joakim Öhman, et al.
0

Visibility relations have been proposed by Henzinger et al. as an abstraction for proving linearizability of concurrent algorithms that obtains modular and reusable proofs. This is in contrast to the customary approach based on exhibiting the algorithm's linearization points. In this paper we apply visibility relations to develop modular proofs for three elegant concurrent snapshot algorithms of Jayanti. The proofs are divided by signatures into components of increasing level of abstraction; the components at higher abstraction levels are shared, i.e., they apply to all three algorithms simultaneously. Importantly, the interface properties mathematically capture Jayanti's original intuitions that have previously been given only informally.

READ FULL TEXT
09/12/2019

Tasks in Modular Proofs of Concurrent Algorithms

Proving correctness of distributed or concurrent algorithms is a mind-ch...
07/05/2022

A Concurrent Program Logic with a Future and History

Verifying fine-grained optimistic concurrent programs remains an open pr...
11/09/2017

Go with the Flow: Compositional Abstractions for Concurrent Data Structures (Extended Version)

Concurrent separation logics have helped to significantly simplify corre...
03/18/2019

Coinductive Uniform Proofs

Coinduction occurs in two guises in Horn clause logic: in proofs of circ...
06/21/2018

Strict Linearizability and Abstract Atomicity

Linearizability is a commonly accepted consistency condition for concurr...
12/28/2018

Sequential algorithms and the computational content of classical proofs

We develop a correspondence between the theory of sequential algorithms ...
01/21/2020

Some General Structure for Extremal Sparsification Problems

This paper is about a branch of theoretical computer science that studie...