Open AccessPosted Content
Verifying Asynchronous Event-Driven Programs Using Partial Abstract Transformers (Extended Manuscript)
Peizun Liu,Thomas Wahl,Akash Lal +2 more
TL;DR: In this article, the authors present a technique that combines queue-bounded exploration with a convergence test: if the sequence of certain abstractions of the reachable states, for increasing queue bounds k, converges, they can prove any property of the program that is preserved by the abstraction.
read more
Abstract: We address the problem of analyzing asynchronous event-driven programs, in which concurrent agents communicate via unbounded message queues. The safety verification problem for such programs is undecidable. We present in this paper a technique that combines queue-bounded exploration with a convergence test: if the sequence of certain abstractions of the reachable states, for increasing queue bounds k, converges, we can prove any property of the program that is preserved by the abstraction. If the abstract state space is finite, convergence is guaranteed; the challenge is to catch the point k_max where it happens. We further demonstrate how simple invariants formulated over the concrete domain can be used to eliminate spurious abstract states, which otherwise prevent the sequence from converging. We have implemented our technique for the P programming language for event-driven programs. We show experimentally that the sequence of abstractions often converges fully automatically, in hard cases with minimal designer support in the form of sequentially provable invariants, and that this happens for a value of k_max small enough to allow the method to succeed in practice.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Verifying Asynchronous Event-Driven Programs Using Partial Abstract Transformers
Peizun Liu,Thomas Wahl,Akash Lal +2 more
- 15 Jul 2019
TL;DR: It is shown experimentally that the sequence of abstractions often converges fully automatically, in hard cases with minimal designer support in the form of sequentially provable invariants, and that this happens for a value of k_max small enough to allow the method to succeed in practice.
Interprocedural Context-Unbounded Program Analysis Using Observation Sequences
TL;DR: A classical result by Ramalingam about synchronization-sensitive interprocedural program analysis implies that reachability for concurrent threads running recursive procedures is undecidable.
2
References
Abstract Interpretation with Unfoldings
Marcelo Sousa,César Rodríguez,Vijay D'Silva,Daniel Kroening +3 more
- 24 Jul 2017
TL;DR: In this article, the authors present a technique for computing path-sensitive interference conditions during abstract interpretation of concurrent programs, using prime event structures to compactly represent causal dependence and interference between sequences of transformers.
Symbolic Implementation of the Best Transformer
Thomas Reps,Mooly Sagiv,Greta Yorsh +2 more
- 11 Jan 2004
TL;DR: This paper shows how to achieve, under certain conditions, abstract-interpretation algorithms that enjoy the best possible precision for a given abstraction.
Model checking for programming languages using VeriSoft
Patrice Godefroid
- 01 Jan 1997
TL;DR: This paper discusses how model checking can be extended to deal directly with "actual" descriptions of concurrent systems, e.g., implementations of communication protocols written in programming languages such as C or C++, and introduces a new search technique that is suitable for exploring the state spaces of such systems.
Optimal dynamic partial order reduction
Parosh Aziz Abdulla,Stavros Aronis,Bengt Jonsson,Konstantinos Sagonas +3 more
- 08 Jan 2014
TL;DR: A new DPOR algorithm is presented, which is the first to be provably optimal in that it always explores the minimal number of executions and is based on a novel class of sets, called source sets, which replace the role of persistent sets in previous algorithms.
Proof Spaces for Unbounded Parallelism
Azadeh Farzan,Zachary Kincaid,Andreas Podelski +2 more
- 14 Jan 2015
TL;DR: A proof system where one proves the correctness of a multi-threaded program by showing that for each trace of the program, there exists a correctness proof in the space of proofs that are derivable from a finite set of axioms using simple combinatorial inference rules.
Related Papers (5)
Lakhdar Akroun,Gwen Salaün,Lina Ye +2 more
- 07 Apr 2016
Parosh Aziz Abdulla,Bengt Jonsson +1 more
- 11 Jul 1994
Kedar S. Namjoshi,E. Allen Emerson +1 more
- 01 Jan 1998