English
Related papers

Related papers: Decidability of Liveness on the TSO Memory Model

200 papers

The overall problem addressed in this paper is the long-standing problem of program correctness, and in particular programs that describe systems of parallel executing processes. We propose a new method for proving correctness of parallel…

Programming Languages · Computer Science 2023-02-10 Frank S. de Boer , Einar Broch Johnsen , Violet Ka I Pun , Silvia Lizeth Tapia Tarifa

This article aims to describe and explain the theoretical foundations of concurrent and set concurrent algorithms, considering an asynchronous shared memory system where any number of processes can crash. Verification of concurrent…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-07-27 Jose Damian Lopez Diaz

This paper considers the liveness enforcement problem in a class of Petri nets (PNs) modeling distributed systems called Synchronized Sequential Processes (SSP). This class of PNs is defined as a set of mono-marked state machines…

Systems and Control · Electrical Eng. & Systems 2020-12-29 Daniel Clavel , Cristian Mahulea , Manuel Silva

When a property needs to be checked against an unknown or very complex system, classical exploration techniques like model-checking are not applicable anymore. Sometimes a~monitor can be used, that checks a given property on the underlying…

Formal Languages and Automata Theory · Computer Science 2015-07-07 Volker Diekert , Anca Muscholl , Igor Walukiewicz

We investigate the simulation problem in of dense-time system. A specification simulates a model if the specification can match every transition that the model can make at a time point. We also adapt the approach of Emerson and Lei and…

Logic in Computer Science · Computer Science 2010-07-06 Farn Wang

The lock-free, ordered, linked list is an important, standard example of a concurrent data structure. An obvious, practical drawback of textbook implementations is that failed compare-and-swap (CAS) operations lead to retraversal of the…

Data Structures and Algorithms · Computer Science 2020-11-02 Jesper Larsson Träff , Manuel Pöter

We consider the problem of verifying liveness for systems with a finite, but unbounded, number of processes, commonly known as parameterised systems. Typical examples of such systems include distributed protocols (e.g. for the dining…

Logic in Computer Science · Computer Science 2016-06-07 Anthony W. Lin , Philipp Ruemmer

This paper studies the costs and trade-offs of providing transactional consistent reads in a distributed storage system. We identify the following dimensions: read consistency, read delay (latency), and data freshness. We show that there is…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-10-04 Alejandro Z. Tomsic , Manuel Bravo , Marc Shapiro

Monotonicity in concurrent systems stipulates that, in any global state, extant system actions remain executable when new processes are added to the state. This concept is not only natural and common in multi-threaded software, but also…

Programming Languages · Computer Science 2014-06-26 Alexander Kaiser , Daniel Kroening , Thomas Wahl

We propose a novel, operational framework to formally describe the semantics of concurrent programs running within the context of a relaxed memory model. Our framework features a "temporary store" where the memory operations issued by the…

Programming Languages · Computer Science 2012-08-30 Gérard Boudol , Gustavo Petri , Bernard Serpette

Contrary to common belief, a recent work by Ellen, Gelashvili, Shavit, and Zhu has shown that computability does not require multicore architectures to support "strong" synchronization instructions like compare-and-swap, as opposed to…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-09 Rati Gelashvili , Idit Keidar , Alexander Spiegelman , Roger Wattenhofer

This paper considers the modeling and the analysis of the performance of lock-free concurrent data structures. Lock-free designs employ an optimistic conflict control mechanism, allowing several processes to access the shared data object at…

Data Structures and Algorithms · Computer Science 2015-08-17 Aras Atalar , Paul Renaud-Goud , Philippas Tsigas

We address the problem of statically checking control state reachability (as in possibility of assertion violations, race conditions or runtime errors) and plain reachability (as in deadlock-freedom) of phaser programs. Phasers are a modern…

Programming Languages · Computer Science 2017-08-10 Zeinab Ganjei , Ahmed Rezine , Petru Eles , Zebo Peng

The chase is a fundamental tool for existential rules. Several chase variants are known, which differ on how they handle redundancies possibly caused by the introduction of nulls. Given a chase variant, the halting problem takes as input a…

Artificial Intelligence · Computer Science 2018-10-23 Stathis Delivorias , Michel Leclere , Marie-Laure Mugnier , Federico Ulliana

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, the traditional correctness condition for concurrent data structures is considered insufficient for the non-volatile shared memory model where processes recover following a crash. For this crash-recovery shared memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-12-08 Ohad Ben-Baruch , Srivatsan Ravi

To prove liveness properties of concurrent systems, it is often necessary to postulate progress, fairness and justness properties. This paper investigates how the necessary progress, fairness and justness assumptions can be added to or…

Logic in Computer Science · Computer Science 2015-01-15 Rob van Glabbeek , Peter Höfner

Intuitively, if we can prove that a program terminates, we expect some conclusion regarding its complexity. But the passage from termination proofs to complexity bounds is not always clear. In this work we consider Monotonicity Constraint…

Logic in Computer Science · Computer Science 2014-05-01 Amir M. Ben-Amram , Michael Vainer

We explore the use of liveness for interactive program verification for a simple concurrent object language. Our experimental IDE integrates two (formally dual) kinds of continuous testing into the development environment:…

Programming Languages · Computer Science 2016-09-15 Roly Perera , Simon J. Gay

Asynchronous programming is a ubiquitous systems programming idiom to manage concurrent interactions with the environment. In this style, instead of waiting for time-consuming operations to complete, the programmer makes a non-blocking call…

Logic in Computer Science · Computer Science 2015-03-17 Pierre Ganty , Rupak Majumdar