English
Related papers

Related papers: Order out of Chaos: Proving Linearizability Using …

200 papers

We study the linearizability monitoring problem, which asks whether a given concurrent history of a data structure is equivalent to some sequential execution of the same data structure. In general, this problem is $\textsf{NP}$-hard, even…

Programming Languages · Computer Science 2026-05-26 Lee Zheng Han , Umang Mathur

Efficient implementations of atomic objects such as concurrent stacks and queues are especially susceptible to programming errors, and necessitate automatic verification. Unfortunately their correctness criteria - linearizability with…

Logic in Computer Science · Computer Science 2015-05-26 Ahmed Bouajjani , Michael Emmi , Constantin Enea , Jad Hamza

Linearizability is a commonly accepted consistency condition for concurrent objects. Filipovi\'{c} et al. show that linearizability is equivalent to observational refinement. However, linearizability does not permit concurrent objects to…

Software Engineering · Computer Science 2018-06-22 Tangliu Wen

This paper proposes a general framework for adding linearizable iterators to a class of data structures that implement set operations. We introduce a condition on set operations, called local consistency, which informally states that set…

Data Structures and Algorithms · Computer Science 2018-03-02 Archita Agarwal , Zhiyu Liu , Eli Rosenthal , Vikram Saraph

Linearisability is a central notion for verifying concurrent libraries: a given library is proven safe if its operational history can be rearranged into a new sequential one which, in addition, satisfies a given specification.…

Programming Languages · Computer Science 2016-10-26 Andrzej S. Murawski , Nikos Tzevelekos

We present and verify template algorithms for lock-free concurrent search structures that cover a broad range of existing implementations based on lists and skiplists. Our linearizability proofs are fully mechanized in the concurrent…

Programming Languages · Computer Science 2024-05-24 Nisarg Patel , Dennis Shasha , Thomas Wies

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…

Logic in Computer Science · Computer Science 2023-08-08 Jesús Domínguez , Aleksandar Nanevski

While linearizability is a fundamental correctness condition for distributed systems, ensuring the linearizability of implementations can be quite complex. An essential aspect of linearizable implementations of concurrent objects is the…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-04-08 Raïssa Nataf , Yoram Moses

Linearizability is the strongest correctness property for both shared memory and message passing systems. One of its useful features is the compositionality: a history (execution) is linearizable if and only if each object (component)…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-02-09 Haoxiang Lin

It has been proved that to implement a linearizable shared memory in synchronous message-passing systems it is necessary to wait for a time proportional to the uncertainty in the latency of the network for both read and write operations,…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-08-01 Matthieu Perrin , Matoula Petrolia , Achour Mostefaoui , Claude Jard

Determining the degree of inherent parallelism in classical sequential algorithms and leveraging it for fast parallel execution is a key topic in parallel computing, and detailed analyses are known for a wide range of classical algorithms.…

Data Structures and Algorithms · Computer Science 2023-04-24 Alexander Fedorov , Diba Hashemi , Giorgi Nadiradze , Dan Alistarh

Multithreaded programs generally leverage efficient and thread-safe concurrent objects like sets, key-value maps, and queues. While some concurrent-object operations are designed to behave atomically, each witnessing the atomic effects of…

Logic in Computer Science · Computer Science 2019-11-06 Siddharth Krishna , Michael Emmi , Constantin Enea , Dejan Jovanovic

Linearizability is a commonly accepted notion of correctness for libraries of concurrent algorithms. Unfortunately, it assumes a complete isolation between a library and its client, with interactions limited to passing values of a given…

Logic in Computer Science · Computer Science 2015-07-01 Alexey Gotsman , Hongseok Yang

In the interleaving model of concurrency, where events are totally ordered, linearizability is compositional: the composition of two linearizable objects is guaranteed to be linearizable. However, linearizability is not compositional when…

Logic in Computer Science · Computer Science 2018-02-07 Simon Doherty , John Derrick , Brijesh Dongol , Heike Wehrheim

In the past decade, many techniques have been developed to prove linearizability, the gold standard of correctness for concurrent data structures. Intuitively, linearizability requires that every operation on a concurrent data structure…

Programming Languages · Computer Science 2025-09-09 Zachary Kent , Ugur Y. Yavuz , Siddhartha Jayanti , Stephanie Balzer , Guy Blelloch

Geo-distributed systems often replicate data at multiple locations to achieve availability and performance despite network partitions. These systems must accept updates at any replica and propagate these updates asynchronously to every…

Programming Languages · Computer Science 2019-03-18 Constantin Enea , Suha Orhun Mutluergil , Gustavo Petri , Chao Wang

In this paper, we propose a generic concurrent directed graph (for shared memory architecture) that is concurrently being updated by threads adding/deleting vertices and edges. The graph is constructed by the composition of the well known…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-11-01 Sathya Peri , Muktikanta Sa , Nandini Singhal

We present a formal framework for proving the correctness of set implementations backed by binary-search-tree (BST) and linked lists, which are often difficult to prove correct using automation. This is because many concurrent set…

Programming Languages · Computer Science 2023-05-16 Uri Abraham , Avi Hayoun

The need for scalable concurrent ordered set data structures with linearizable range query support is increasing due to the rise of multicore computers, data processing platforms and in-memory databases. This paper presents a new concurrent…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-09-05 Kjell Winblad

Linearizability is a well-established consistency and correctness criterion for concurrent data types. An important feature of linearizability is Herlihy and Wing's locality principle, which says that a concurrent system is linearizable if…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-04-02 Alex Horn , Daniel Kroening