English
Related papers

Related papers: A Load-Buffer Semantics for Total Store Ordering

200 papers

We present a technique for efficient stateless model checking of programs that execute under the relaxed memory models TSO and PSO. The basis for our technique is a novel representation of executions under TSO and PSO, called chronological…

Logic in Computer Science · Computer Science 2015-01-12 Parosh Abdulla , Stavros Aronis , Mohammed Faouzi Atig , Bengt Jonsson , Carl Leonardsson , Konstantinos Sagonas

Transactional memory is a mechanism that manages thread synchronisation on behalf of a programmer so that blocks of code execute with an illusion of atomicity. The main safety criterion for transactional memory is opacity, which defines…

Logic in Computer Science · Computer Science 2016-10-05 Alasdair Armstrong , Brijesh Dongol , Simon Doherty

Concurrent systems are notoriously difficult to analyze, and technological advances such as weak memory architectures greatly compound this problem. This has renewed interest in partial order semantics as a theoretical foundation for formal…

Logic in Computer Science · Computer Science 2015-04-02 Alex Horn , Daniel Kroening

We introduce a denotational semantic framework for shared-memory concurrent programs in a C11-style memory model. This denotational approach is an alternative to techniques based on "execution graphs" and axiomatizations, and it allows for…

Programming Languages · Computer Science 2018-04-13 Ryan Kavanagh , Stephen Brookes

We consider the parameterized verification problem for distributed algorithms where the goal is to develop techniques to prove the correctness of a given algorithm regardless of the number of participating processes. Motivated by an…

Formal Languages and Automata Theory · Computer Science 2022-04-26 Nathalie Bertrand , Nicolas Markey , Ocan Sankur , Nicolas Waldburger

We study the formal semantics of non-volatile memory in the x86-TSO architecture. We show that while the explicit persist operations in the recent model of Raad et al. from POPL'20 only enforce order between writes to the non-volatile…

Programming Languages · Computer Science 2020-10-28 Artem Khyzha , Ori Lahav

We present a Bounded Model Checking technique for higher-order programs. The vehicle of our study is a higher-order calculus with general references. Our technique is a symbolic state syntactical translation based on SMT solvers, adapted to…

Programming Languages · Computer Science 2018-04-06 Yu-Yang Lin , Nikos Tzevelekos

Many online transaction scheduler architectures and algorithms for various software transactional memories have been designed in order to maintain good system performance even for high concurrency workloads. Most of these algorithms were…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-16 Miroslav Popovic , Marko Popovic , Branislav Kordic , Huibiao Zhu

Most work on the verification of concurrent objects for shared memory assumes sequential consistency, but most multicore processors support only weak memory models that do not provide sequential consistency. Furthermore, most verification…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-04-25 Simon Doherty , John Derrick

Runtime verification is an effective automated method for specification-based offline testing and analysis as well as online monitoring of complex systems. The specification language is often a variant of regular expressions or a popular…

Logic in Computer Science · Computer Science 2014-11-11 Ramy Medhat , Yogi Joshi , Borzoo Bonakdarpour , Sebastian Fischmeister

In this work we provide algorithmic solutions to five fundamental problems concerning the verification, synthesis and correction of concurrent systems that can be modeled by bounded p/t-nets. We express concurrency via partial orders and…

Logic in Computer Science · Computer Science 2014-02-14 Mateus de Oliveira Oliveira

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

This paper investigates the algorithmic safety verification problem of infinite-state parameterized concurrent programs over a rich set of communication topologies. The goal is to automatically produce a proof of correctness in the form of…

Logic in Computer Science · Computer Science 2026-05-15 Ruotong Cheng , Azadeh Farzan

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

The verification of concurrent programs remains an open challenge due to the non-determinism in inter-process communication. One algorithmic problem in this challenge is the consistency verification of concurrent executions. Consistency…

Programming Languages · Computer Science 2021-09-07 Truc Lam Bui , Krishnendu Chatterjee , Tushar Gautam , Andreas Pavlogiannis , Viktor Toman

Security bugs and trapdoors in smart contracts have been impacting the Ethereum community since its inception. Conceptually, the 1.45-million Ethereum's contracts form a single "gigantic program" whose behaviors are determined by the…

Cryptography and Security · Computer Science 2025-08-08 Thomas Ball , Nikolaj S. Bjørner , Ashley J. Chen , Shuo Chen , Yang Chen , Zhongxin Guo , Tzu-Han Hsu , Peng Liu , Nanqing Luo

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

It is very challenging part to keep safely all required data that are needed in many applications for user in cloud. Storing our data in cloud may not be fully trustworthy. Since client doesn't have copy of all stored data, he has to depend…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-11-11 C. Dinesh

The problem of total-order (uniform reliable) broadcast is fundamental in fault-tolerant distributed computing since it abstracts a broad set of problems requiring processes to uniformly deliver messages in the same order in which they were…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-09-30 Oskar Lundström , Michel Raynal , Elad Michael Schiller

Software Transactional Memory systems (STMs) have garnered significant interest as an elegant alternative for addressing synchronization and concurrency issues with multi-threaded programming in multi-core systems. Client programs use STMs…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-03-25 Ved Prakash Chaudhary , Chirag Juyal , Sandeep Kulkarni , Sweta Kumari , Sathya Peri