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
•Posted 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.
3
On the Completeness of Verifying Message Passing Programs Under Bounded Asynchrony
Ahmed Bouajjani,Constantin Enea,Kailiang Ji,Shaz Qadeer +3 more
- 14 Jul 2018
TL;DR: In this article, the problem of verifying k-synchronizability of message passing programs is addressed, defined as a set of processes communicating through unbounded FIFO buffers.
Replication and Abstraction: Symmetry in Automated Formal Verification
TL;DR: Fundamental and applied aspects of symmetry in system models, and of symmetry reduction methods used to counter state explosion in model checking, an automated formal verification technique are surveyed.
All for the Price of Few
Parosh Aziz Abdulla,Frédéric Haziza,Lukáš Holík +2 more
- 20 Jan 2013
TL;DR: This work presents a simple and efficient framework for automatic verification of systems with a parameteric number of communicating processes, which relies on an abstraction function that views the system from the perspective of a fixed number of processes.
•Posted Content
Abstract Interpretation with Unfoldings
TL;DR: The main contribution is an unfolding algorithm that uses a new notion of independence to avoid redundant transformer application, thread-local fixed points to reduce the size of the unfolding, and a novel cutoff criterion based on subsumption to guarantee termination of the analysis.
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