English
Related papers

Related papers: Decidability of Liveness on the TSO Memory Model

200 papers

Most proof systems for concurrent programs assume the underlying memory model to be sequentially consistent (SC), an assumption which does not hold for modern multicore processors. These processors, for performance reasons, implement…

Logic in Computer Science · Computer Science 2013-04-11 Chinmay Narayan , Shibashis Guha , S. Arun-Kumar

A well-established approach to proving progress properties such as deadlock-freedom and termination is to associate obligations with threads. For example, in most existing work the proof rule for lock acquisition prescribes a standard usage…

Programming Languages · Computer Science 2024-12-20 Justus Fasse , Bart Jacobs

Transaction Memory (TM) is a concurrency control abstraction that allows the programmer to specify blocks of code to be executed atomically as transactions. However, since transactional code can contain just about any operation attention…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-03-28 Konrad Siek , Paweł T. Wojciechowski

Software Transactional Memory (STM) is an extensively studied paradigm that provides an easy-to-use mechanism for thread safety and concurrency control. With the recent advent of byte-addressable persistent memory, a natural question to ask…

Programming Languages · Computer Science 2023-12-22 Azalea Raad , Ori Lahav , John Wickerson , Piotr Balcer , Brijesh Dongol

Place/transition Petri nets are a standard model for a class of distributed systems whose reachability spaces might be infinite. One of well-studied topics is the verification of safety and liveness properties in this model; despite the…

Logic in Computer Science · Computer Science 2016-08-09 Petr Jancar

In this dissertation we describe two contributions to the state of the art in reasoning about liveness and safety, respectively. Programs for multiprocessor machines commonly perform busy waiting for synchronization. We propose the first…

Logic in Computer Science · Computer Science 2024-03-15 Tobias Reinhard

Deadlocks occur in concurrent programs as a consequence of cyclic resource acquisition between threads. In this paper we present a novel type system that guarantees deadlock freedom for a language with references, unstructured locking…

Programming Languages · Computer Science 2011-10-20 Prodromos Gerakios , Nikolaos Papaspyrou , Konstantinos Sagonas

In parametric lock-sharing systems processes can spawn new processes to run in parallel, and can create new locks. The behavior of every process is given by a pushdown automaton. We consider infinite behaviors of such systems under strong…

Logic in Computer Science · Computer Science 2023-07-12 Corto Mascle , Anca Muscholl , Igor Walukiewicz

We address the problem of checking state reachability for programs running under Total Store Order (TSO). The problem has been shown to be decidable but the cost is prohibitive, namely non-primitive recursive. We propose here to give up…

Programming Languages · Computer Science 2015-01-13 Ahmed Bouajjani , Georgel Calin , Egor Derevenetc , Roland Meyer

Modern distributed systems often achieve availability and scalability by providing consistency guarantees about the data they manage weaker than linearizability. We consider a class of such consistency models that, despite this weakening,…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-07-31 Alexey Gotsman , Sebastian Burckhardt

Context. TypeState-Oriented Programming (TSOP) is a paradigm intended to help developers in the implementation and use of mutable objects whose public interface depends on their private state. Under this paradigm, well-typed programs are…

Programming Languages · Computer Science 2018-03-29 Luca Padovani

The memory model of a shared-memory multiprocessor is a contract between the designer and programmer of the multiprocessor. The sequential consistency memory model specifies a total order among the memory (read and write) events performed…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Shaz Qadeer

We characterize the complexity of liveness verification for parameterized systems consisting of a leader process and arbitrarily many anonymous and identical contributor processes. Processes communicate through a shared, bounded-value…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-05-26 Antoine Durand-Gasselin , Javier Esparza , Pierre Ganty , Rupak Majumdar

We investigate the fine-grained complexity of liveness verification for leader contributor systems. These consist of a designated leader thread and an arbitrary number of identical contributor threads communicating via a shared memory. The…

Formal Languages and Automata Theory · Computer Science 2019-10-08 Peter Chini , Roland Meyer , Prakash Saivasan

We present $\textit{Probabilistic Total Store Ordering (PTSO)}$ -- a probabilistic extension of the classical TSO semantics. For a given (finite-state) program, the operational semantics of PTSO induces an infinite-state Markov chain. We…

Programming Languages · Computer Science 2022-01-26 Parosh Aziz Abdulla , Mohamed Faouzi Atig , Raj Aryan Agarwal , Adwait Godbole , Krishna S

Go is a popular concurrent programming language thanks to its ability to efficiently combine concurrency and systems programming. In Go programs, a number of concurrency bugs can be caused by a mixture of data races and communication…

Programming Languages · Computer Science 2021-11-22 Julia Gabet , Nobuko Yoshida

Safety and liveness are the two classical security properties of consensus protocols. Recent works have strengthened safety with accountability: should any safety violation occur, a sizable fraction of adversary nodes can be proven to be…

Cryptography and Security · Computer Science 2025-09-12 Andrew Lewis-Pye , Joachim Neu , Tim Roughgarden , Luca Zanolini

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

Quiescent consistency is a notion of correctness for a concurrent object that gives meaning to the object's behaviours in quiescent states, i.e., states in which none of the object's operations are being executed. Correctness of an…

Logic in Computer Science · Computer Science 2015-11-30 Brijesh Dongol , Robert M. Hierons

An affine model of computation is defined as a subset of iterated immediate-snapshot runs, capturing a wide variety of shared-memory systems, such as wait-freedom, t-resilience, k-concurrency, and fair shared-memory adversaries. The…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-08-06 Petr Kuznetsov , Thibault Rieutord