English
Related papers

Related papers: Proving linearisability via coarse-grained abstrac…

200 papers

Linearizability is the de facto consistency condition for concurrent objects, widely used in theory and practice. Loosely speaking, linearizability classifies concurrent executions as correct if operations on shared objects appear to take…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-07-30 Gal Sela , Maurice Herlihy , Erez Petrank

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

Linearizability is a widely accepted notion of correctness for concurrent objects. Recent research has investigated redefining linearizability for particular hardware weak memory models, in particular for TSO. In this paper, we provide an…

Logic in Computer Science · Computer Science 2019-07-03 Graeme Smith , Kirsten Winter , Robert J. Colvin

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

Verifying specifications for large-scale modern engineering systems can be a time-consuming task, as most formal verification methods are limited to systems of modest size. Recently, contract-based design and verification has been proposed…

Systems and Control · Electrical Eng. & Systems 2021-03-26 Miel Sharf , Bart Besselink , Karl Henrik Johansson

Reasoning about hyperproperties of concurrent implementations, such as the guarantees these implementations provide to randomized client programs, has been a long-standing challenge. Standard linearizability enables the use of atomic…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-08-21 Yoav Ben Shimon , Ori Lahav , Sharon Shoham

Linearizability is the gold standard of correctness conditions for shared memory algorithms, and historically has been considered the practical equivalent of atomicity. However, it has been shown [1] that replacing atomic objects with…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-08-29 Sean Ovens , Philipp Woelfel

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

The verification of linearizability -- a key correctness criterion for concurrent objects -- is based on trace refinement whose checking is PSPACE-complete. This paper suggests to use \emph{branching} bisimulation instead. Our approach is…

Programming Languages · Computer Science 2024-01-03 Xiaoxiao Yang , Joost-Pieter Katoen , Hao Wu

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

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

Linear programming is widely used for decision-making in science, engineering, and operations research, yet in many modern applications the coefficients entering the constraints and objective are not known exactly and must be learned from…

Other Statistics · Statistics 2026-03-09 Debashis Chatterjee

Proving linearizability of concurrent data structures is crucial for ensuring their correctness, but is challenging especially for implementations that employ sophisticated synchronization techniques. In this paper, we propose a new proof…

Software Engineering · Computer Science 2025-09-16 Tangliu Wen

Linearizability has become the de facto correctness specification for implementations of concurrent data structures. While formally verifying such implementations remains challenging, linearizability monitoring has emerged as a promising…

Programming Languages · Computer Science 2025-09-16 Lee Zheng Han , Umang Mathur

Modern highly-concurrent search data structures, such as search trees, obtain multi-core scalability and performance by having operations traverse the data structure without any synchronization. As a result, however, these algorithms are…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-01-12 Yotam M. Y. Feldman , Artem Khyzha , Constantin Enea , Adam Morrison , Aleksandar Nanevski , Noam Rinetzky , Sharon Shoham

We present a method for verifying the correctness of imperative programs which is based on the automated transformation of their specifications. Given a program prog, we consider a partial correctness specification of the form $\{\varphi\}$…

Logic in Computer Science · Computer Science 2020-02-19 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

Linearizability is a well-known correctness property for concurrent and distributed systems. In the past, it was also used to prove the design and implementation of replicated state-machines correct. State-machine replication (SMR) is a…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-07-03 Franz J. Hauck , Alexander Heß

Contextual refinement and separation logics are successful verification techniques that are very different in nature. First, the former guarantees behavioral refinement between a concrete program and an abstract program while the latter…

Programming Languages · Computer Science 2021-09-08 Youngju Song , Minki Cho , Dongjae Lee , Chung-Kil Hur

The aim of this article is to employ the Lazy Set algorithm as an example for a mathematical framework for proving the linearizability of distributed systems. The proof in this approach is divided into two stages of lower and higher…

Logic in Computer Science · Computer Science 2018-11-05 Uri Abraham

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