Verifying Asynchronous Event-Driven Programs Using Partial Abstract Transformers
Peizun Liu,Thomas Wahl,Akash Lal +2 more
- 15 Jul 2019
- pp 386-404
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.
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
Automata-Based Software Engineering with Event-B
TL;DR: A new automata-based programming language built by extending the Event-B specification language is proposed, and the effectiveness of event-B verification methods is confirmed by finding three nontrivial bugs in the solution.
2
•Posted Content
Delay-Bounded Scheduling Without Delay! (Extended Technical Report).
Andrew Johnson,Thomas Wahl +1 more
TL;DR: In this article, the authors present a technique to lift the delay bound for finite-domain variable programs, thus adding to the efficiency of bug detection the ability to prove safety of programs under arbitrary thread interleavings.
Psym: Efficient Symbolic Exploration of Distributed Systems
TL;DR: The symbolic explorer as discussed by the authors leverages a fine-grained, canonical representation of distributed system configurations (states) to identify opportunities for avoiding redundant interleavings on-the-fly.
References
Natural proofs for asynchronous programs using almost-synchronous reductions
Ankush Desai,Pranav Garg,P. Madhusudan +2 more
- 15 Oct 2014
TL;DR: A novel reduction scheme for asynchronous event-driven programs that finds almost-synchronous invariants - invariants consisting of global states where message buffers are close to empty and simultaneously argues that they cover all local states.
Verifying distributed programs via canonical sequentialization
Alexander Bakst,Klaus von Gleissenthall,Rami Gökhan Kıcı,Ranjit Jhala +3 more
- 12 Oct 2017
TL;DR: Brisk as discussed by the authors is a concurrency verification tool that is fast enough to be integrated into a design-implement-check cycle and can be used to verify message-passing programs.
37
Bounded phase analysis of message-passing programs
Ahmed Bouajjani,Michael Emmi +1 more
TL;DR: A novel technique for bounded analysis of asynchronous message-passing programs with ordered message queues that avoids explicitly representing message queues and gives rise to a simple and efficient program analysis by reduction to sequential programs.
Verification of communication protocols using abstract interpretation of FIFO queues
Tristan Le Gall,Bertrand Jeannet,Thierry Jéron +2 more
- 05 Jul 2006
TL;DR: It is shown that the use of regular languages together with an extrapolation operator provides a simple and elegant method for the analysis of CFSMs, which is moreover often as accurate as acceleration techniques, and in some cases more expressive.
Analysis of Message Passing Programs Using SMT-Solvers
Parosh Aziz Abdulla,Mohamed Faouzi Atig,Jonathan Cederberg +2 more
- 15 Oct 2013
TL;DR: It is proved that the problem becomes undecidable if the authors allow perfect channels or push-down processes communicating through (stuttering) lossy channels, and implies that bounded-phase reachability is np-complete.
17
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
Mohamed Faouzi Atig,Tayssir Touili +1 more
- 07 Jul 2009