Visibility and Separability for a Declarative Linearizability Proof of the Timestamped Stack: Extended Version

07/10/2023
by   Jesús Domínguez, et al.
0

Linearizability is a standard correctness criterion for concurrent algorithms, typically proved by establishing the algorithms' linearization points (LP). However, LPs often hinder abstraction, and for some algorithms such as the timestamped stack, it is unclear how to even identify their LPs. In this paper, we show how to develop declarative proofs of linearizability by foregoing LPs and instead employing axiomatization of so-called visibility relations. While visibility relations have been considered before for the timestamped stack, our study is the first to show how to derive the axiomatization systematically and intuitively from the sequential specification of the stack. In addition to the visibility relation, a novel separability relation emerges to generalize real-time precedence of procedure invocation. The visibility and separability relations have natural definitions for the timestamped stack, and enable a novel proof that reduces the algorithm to a simplified form where the timestamps are generated atomically.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/10/2023

Declarative Linearizability Proofs for Descriptor-Based Concurrent Helping Algorithms

Linearizability is a standard correctness criterion for concurrent algor...
research
10/06/2021

Visibility Reasoning for Concurrent Snapshot Algorithms

Visibility relations have been proposed by Henzinger et al. as an abstra...
research
10/12/2021

A Simple Way to Verify Linearizability of Concurrent Stacks

Linearizability is a commonly accepted correctness criterion for concurr...
research
03/13/2021

Colouring polygon visibility graphs and their generalizations

Curve pseudo-visibility graphs generalize polygon and pseudo-polygon vis...
research
03/25/2021

Unit Disk Visibility Graphs

We study unit disk visibility graphs, where the visibility relation betw...
research
03/17/2023

Stack and Queue Numbers of Graphs Revisited

A long-standing question of the mutual relation between the stack and qu...
research
03/17/2019

NetKernel: Making Network Stack Part of the Virtualized Infrastructure

This paper presents a system called NetKernel that decouples the network...

Please sign up or login with your details

Forgot password? Click here to reset