English
Related papers

Related papers: Context-Bounded Verification of Liveness Propertie…

200 papers

Previous approaches to systematic state-space exploration for testing multi-threaded programs have proposed context-bounding and depth-bounding to be effective ranking algorithms for testing multithreaded programs. This paper proposes two…

Programming Languages · Computer Science 2013-02-06 Sandeep Bindal , Sorav Bansal , Akash Lal

We consider the problem of automatically verifying that a parameterized family of probabilistic concurrent systems terminates with probability one for all instances against adversarial schedulers. A parameterized family defines an…

Logic in Computer Science · Computer Science 2017-10-31 Ondrej Lengal , Anthony W. Lin , Rupak Majumdar , Philipp Ruemmer

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

In this paper, we study the program-point reachability problem of concurrent pushdown systems that communicate via unbounded and unordered message buffers. Our goal is to relax the common restriction that messages can only be retrieved by a…

Logic in Computer Science · Computer Science 2014-01-27 Jonathan Kochems , C-H Luke Ong

There are many types of automata and grammar models that have been studied in the literature, and for these models, it is common to determine whether certain problems are decidable. One problem that has been difficult to answer throughout…

Formal Languages and Automata Theory · Computer Science 2024-05-20 Oscar H. Ibarra , Ian McQuillan

Multi-stack pushdown systems are a well-studied model of concurrent computation using threads with first-order procedure calls. While, in general, reachability is undecidable, there are numerous restrictions on stack behaviour that lead to…

Formal Languages and Automata Theory · Computer Science 2013-10-11 Matthew Hague

This work strives to make formal verification of POSIX multithreaded programs easily accessible to general programmers. Sthread operates directly on multithreaded C/C++ programs, without the need for an intermediate formal model. Sthread is…

Programming Languages · Computer Science 2020-02-18 Gene Cooperman , Martin Quinson

Efficient implementations of concurrent objects such as atomic collections are essential to modern computing. Programming such objects is error prone: in minimizing the synchronization overhead between concurrent object invocations, one…

Programming Languages · Computer Science 2017-07-04 Ahmed Bouajjani , Constantin Enea , Chao Wang

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

The model of asynchronous programming arises in many contexts, from low-level systems software to high-level web programming. We take a language-theoretic perspective and show general decidability and undecidability results for asynchronous…

Formal Languages and Automata Theory · Computer Science 2023-06-22 Rupak Majumdar , Ramanathan S. Thinniyam , Georg Zetzsche

Multi-thread applications commonly utilize condition variables for communication between threads. Condition variables allow threads to block and wait until a certain condition holds, and also enable threads to wake up their blocked peers…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-05-17 Dave Dice , Alex Kogan

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

Extensions to finite-state automata on strings, such as multi-head automata or multi-counter automata, have been successfully used to encode many infinite-state non-regular verification problems. In this paper, we consider a generalization…

Formal Languages and Automata Theory · Computer Science 2015-09-25 Rayna Dimitrova , Rupak Majumdar

It is well known that liveness properties cannot be proven using standard simulation arguments. This issue has been mitigated by extending standard notions of simulation for transition systems to fairness-preserving simulations for systems…

Logic in Computer Science · Computer Science 2026-05-27 Arthur Correnson , Iona Kuhn , Bernd Finkbeiner

We study the uniform verification problem for infinite state processes, which consists of proving that the parallel composition of an arbitrary number of processes satisfies a temporal property. Our practical motivation is to build a…

Logic in Computer Science · Computer Science 2014-01-10 Alejandro Sánchez , César Sánchez

We propose an under-approximate reachability analysis algorithm for programs running under the POWER memory model, in the spirit of the work on context-bounded analysis intitiated by Qadeer et al. in 2005 for detecting bugs in concurrent…

Programming Languages · Computer Science 2019-09-25 Parosh Aziz Abdulla , Mohamed Faouzi Atig , Ahmed Bouajjani , Tuan Phong Ngo

Undoing computations of a concurrent system is beneficial in many situations, e.g., in reversible debugging of multi-threaded programs and in recovery from errors due to optimistic execution in parallel discrete event simulation. A number…

Logic in Computer Science · Computer Science 2024-02-13 Ivan Lanese , Iain Phillips , Irek Ulidowski

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

Proving the linearizability of highly concurrent data structures, such as those using optimistic concurrency control, is a challenging task. The main difficulty is in reasoning about the view of the memory obtained by the threads, because…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-08-07 Yotam M. Y. Feldman , Constantin Enea , Adam Morrison , Noam Rinetzky , Sharon Shoham

Concurrent objects form the foundation of many applications that exploit multicore architectures and their importance has lead to informal correctness arguments, as well as formal proof systems. Correctness arguments (as found in the…

Programming Languages · Computer Science 2024-10-18 Constantin Enea , Eric Koskinen