DeepAI AI Chat
Log In Sign Up

Visibility Reasoning for Concurrent Snapshot Algorithms

by   Joakim Öhman, et al.

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.


Tasks in Modular Proofs of Concurrent Algorithms

Proving correctness of distributed or concurrent algorithms is a mind-ch...

A Concurrent Program Logic with a Future and History

Verifying fine-grained optimistic concurrent programs remains an open pr...

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

Concurrent separation logics have helped to significantly simplify corre...

Coinductive Uniform Proofs

Coinduction occurs in two guises in Horn clause logic: in proofs of circ...

Strict Linearizability and Abstract Atomicity

Linearizability is a commonly accepted consistency condition for concurr...

Sequential algorithms and the computational content of classical proofs

We develop a correspondence between the theory of sequential algorithms ...

Some General Structure for Extremal Sparsification Problems

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