English
Related papers

Related papers: Verification of Shared-Reading Synchronisers

200 papers

Security verification of communication protocols in industrial and safety-critical systems is challenging because implementations are often proprietary, accessible only as black boxes, and too complex for manual modeling. As a result,…

Cryptography and Security · Computer Science 2026-03-02 Stefan Marksteiner , Mikael Sjödin , Marjan Sirjani

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

Separation Logic is an effective Program Logic for proving programs that involve pointers. Reasoning with pointers becomes difficult especially when there is aliasing arising due to several pointers to a given cell location. In this paper,…

Logic in Computer Science · Computer Science 2017-04-07 Abhishek Kr Singh , Raja Natrajan

Programmable Logic Controllers (PLCs) are a core component of an Industrial Control System (ICS). However, if a PLC is compromised or the commands sent across a network from the PLCs are spoofed, consequences could be catastrophic. In this…

Cryptography and Security · Computer Science 2021-02-19 Chuadhry Mujeeb Ahmed , Martin Ochoa , Jianying Zhou , Aditya Mathur

In this article we present Mutable Locks, a synchronization construct with the same execution semantic of traditional locks (such as spin locks or sleep locks), but with a self-tuned optimized trade off between responsiveness---in the…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-06-02 Romolo Marotta , Davide Tiriticco , Pierangelo Di Sanzo , Alessandro Pellegrini , Bruno Ciciani , Francesco Quaglia

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

Decentralized techniques are becoming crucial and ubiquitous with the rapid advancement of distributed ledger technologies such as the blockchain. Numerous decentralized systems have been developed to address security and privacy issues…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-08-20 Yepeng Ding , Hiroyuki Sato

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

Ensuring that autonomous space robot control software behaves as it should is crucial, particularly as software failure in space often equates to mission failure and could potentially endanger nearby astronauts and costly equipment. To…

Distributed systems are notoriously difficult to understand and analyze in order to assert their correction w.r.t. given properties. They often exhibit a huge number of different behaviors, as soon as the active entities (peers, agents,…

Formal Languages and Automata Theory · Computer Science 2012-08-13 Volker Diekert , Anca Muscholl

Concurrent programming under weak memory concurrency faces substantial challenges to ensure correctness due to program behaviors that cannot be explained by thread interleaving, a.k.a. sequential consistency. While several program logics…

Logic in Computer Science · Computer Science 2026-04-24 Ömer Şakar , Soham Chakraborty , Marieke Huisman , Anton Wijs

Rely-guarantee (RG) logic uses thread interference specifications (relies and guarantees) to reason about the correctness of multithreaded software. Unfortunately, RG logic requires each function postcondition to be "stabilized" or…

Programming Languages · Computer Science 2024-07-15 Cormac Flanagan , Stephen N. Freund

Offline runtime verification involves the static analysis of executions of a system against a specification. For distributed systems, it is generally not possible to characterize executions in the form of global traces, given the absence of…

Software Engineering · Computer Science 2024-03-06 Erwan Mahe , Boutheina Bannour , Christophe Gaston , Arnault Lapitre , Pascale Le Gall

Opacity is a confidentiality property that characterizes the non-disclosure of specified secret information of a system to an outside observer. In this paper, we consider the enforcement of opacity within the discrete-event system formalism…

Cryptography and Security · Computer Science 2018-02-19 Bo Wu , Jin Dai , Hai Lin

We formalize synthesis of shared control protocols with correctness guarantees for temporal logic specifications. More specifically, we introduce a modeling formalism in which both a human and an autonomy protocol can issue commands to a…

Robotics · Computer Science 2016-10-28 Nils Jansen , Murat Cubuktepe , Ufuk Topcu

Quantum cryptography can provide a very high level of data security. However, a big challenge of this technique is errors in quantum channels. Therefore, error correction methods must be applied in real implementations. An example is error…

Cryptography and Security · Computer Science 2023-12-05 Marcin Niemiec , Tymoteusz Widlarz , Miralem Mehic

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

Optimizing compilers have become a cornerstone for high-performance program generation in research and industry. Optimizations, including those implemented manually by a user and those target-specific and non-target-specific, are used to…

Programming Languages · Computer Science 2026-05-05 Emily Tucker , Louis-Noël Pouchet , Erika Hunhoff , Stephen Neuendorffer , Erwei Wang

Mutexes (i.e., locks) are well understood in separation logic, and can be specified in terms of either protecting an invariant or atomically changing the state of the lock. In this abstract, we develop the same styles of specifications for…

Programming Languages · Computer Science 2026-02-02 Ke Du , William Mansky , Paolo G. Giarrusso , Gregory Malecha

The size of collections, maps, and data structures in general, constitutes a fundamental property. An implementation of the size method is required in most programming environments. Nevertheless, in a concurrent environment, integrating a…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-06-23 Hen Kas-Sharir , Gal Sela , Erez Petrank