English
Related papers

Related papers: Verification of Shared-Reading Synchronisers

200 papers

Any non-trivial concurrent system warrants synchronisation, regardless of the concurrency model. Actor-based concurrency serialises all computations in an actor through asynchronous message passing. In contrast, lock-based concurrency…

Programming Languages · Computer Science 2018-07-27 Elias Castegren , Joel Wallin , Tobias Wrigstad

This paper introduces a novel paradigm for the analysis and verification of concurrent programs -- the Singularity Theory. We model the execution space of a concurrent program as a branched topological space, where program states are points…

Programming Languages · Computer Science 2025-10-30 Di Zhang

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

Safety-Critical Java (SCJ) is a recent technology that restricts the execution and memory model of Java in such a way that applications can be statically analysed and certified for their real-time properties and safe use of memory. Our…

Logic in Computer Science · Computer Science 2013-05-28 Frank Zeyda , Ana Cavalcanti

Runtime verification is the process of verifying critical behavioral properties in big complex systems, where formal verification is not possible due to state space explosion. There have been several attempts to design efficient algorithms…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-04-07 M. Ali Dorosty , Fathiyeh Faghih , Ehsan Khamespanah

In order to understand the relative expressive power of larger concurrent programming languages, we analyze translations of small process calculi which model the communication and synchronization of concurrent processes. The source language…

Logic in Computer Science · Computer Science 2021-10-04 Manfred Schmidt-Schauß , David Sabel

Concurrent accesses to databases are typically grouped in transactions which define units of work that should be isolated from other concurrent computations and resilient to failures. Modern databases provide different levels of isolation…

Databases · Computer Science 2025-07-16 Ahmed Bouajjani , Constantin Enea , Enrique Román-Calvo

In this paper we describe how to leverage higher-order unification to type check a dependently typed language with meta-variables. The literature usually presents the unification algorithm as a standalone component, however the need to…

Programming Languages · Computer Science 2016-10-03 Francesco Mazzoli , Andreas Abel

Atomicity is a fundamental abstraction in concurrency, specifying that program behavior can be understood by considering specific code blocks executing atomically. However, atomicity invariants are tricky to maintain while also optimizing…

Programming Languages · Computer Science 2026-04-14 Hünkar Can Tun , Yifan Dong , Andreas Pavlogiannis

We propose an approach for modular verification of programs written in an object-oriented language where, like in C++, the same virtual method call is bound to different methods at different points during the construction or destruction of…

Programming Languages · Computer Science 2023-07-18 Niels Mommen , Bart Jacobs

In concurrent verification, separation logic provides a strong story for handling both resources that are owned exclusively and resources that are shared persistently (i.e., forever). However, the situation is more complicated for…

Logic in Computer Science · Computer Science 2023-09-12 Travis Hance , Jon Howell , Oded Padon , Bryan Parno

In order to understand the relative expressive power of larger concurrent programming languages, we analyze translations of small process calculi which model the communication and synchronization of concurrent processes. The source language…

Logic in Computer Science · Computer Science 2021-08-26 Manfred Schmidt-Schauß , David Sabel

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

Relational properties describe relationships that hold over multiple executions of one or more programs, such as functional equivalence. Conventional approaches for automatically verifying such properties typically rely on syntax-based,…

Programming Languages · Computer Science 2019-07-10 Qi Zhou , David Heath , William Harris

The well known snapshot primitive in concurrent programming allows for n-asynchronous processes to write values to an array of single-writer registers and, for each process, to take a snapshot of these registers. In this paper we provide a…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-02-11 Gal Amram , Lior Mizrahi , Gera Weiss

Synchronization is a phenomenon where interacting particles lock their motion and display non-trivial dynamics. Despite intense efforts studying synchronization in systems without clear classical limits, no comprehensive theory has been…

Quantum Physics · Physics 2022-03-23 Berislav Buca , Cameron Booker , Dieter Jaksch

Bounded verification has proved useful to detect bugs and to increase confidence in the correctness of a program. In contrast to unbounded verification, reasoning about calls via (bounded) inlining and about loops via (bounded) unrolling…

Logic in Computer Science · Computer Science 2023-03-14 Thibault Dardinier , Gaurav Parthasarathy , Peter Müller

While a number of weak consistency mechanisms have been developed in recent years to improve performance and ensure availability in distributed, replicated systems, ensuring correctness of transactional applications running on top of such…

Programming Languages · Computer Science 2018-06-25 Kartik Nagar , Suresh Jagannathan

Concolic testing is a popular dynamic validation technique that can be used for both model checking and automatic test case generation. We have recently introduced concolic testing in the context of logic programming. In contrast to…

Logic in Computer Science · Computer Science 2016-08-11 Fred Mesnard , Etienne Payet , German Vidal

Software Transactional Memory (STM) algorithms provide programmers with a synchronisation mechanism for concurrent access to shared variables. Basically, programmers can specify transactions (reading from and writing to shared state) which…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-07-02 Heike Wehrheim
‹ Prev 1 3 4 5 6 7 10 Next ›