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
Systematic design of program analysis frameworks
Patrick Cousot,Radhia Cousot +1 more
- 01 Jan 1979
TL;DR: The systematic and correct design of program analysis frameworks with respect to a formal semantics is devoted to the main elements of the lattice theoretic approach to approximate semantic analysis of programs.
1.8K
On Communicating Finite-State Machines
TL;DR: A model of commumcations protocols based on finite-state machines is investigated and it is determined to what extent the problem is solvable, and one approach to solving it is described.
1.2K
Context-Bounded model checking of concurrent software
Shaz Qadeer,Jakob Rehof +1 more
- 04 Apr 2005
TL;DR: In this paper, the authors show that the problem of verifying a concurrent boolean program is decidable, even in the presence of unbounded parallelism, if the analysis is restricted to executions in which the number of context switches is bounded by an arbitrary constant.
Reducing Model Checking of the Many to the Few
E. Allen Emerson,Vineet Kahlon +1 more
- 17 Jun 2000
TL;DR: Decidability of PMCP is established as it is only necessary to model check a finite number of relatively small systems, and efficient decidability can be obtained in some cases.
P: safe asynchronous event-driven programming
Ankush Desai,Vivek Gupta,Ethan K. Jackson,Shaz Qadeer,Sriram K. Rajamani,Damien Zufferey +5 more
- 16 Jun 2013
TL;DR: The P language is designed so that a P program can be checked for responsiveness---the ability to handle every event in a timely manner, and provides default liveness checks that an event cannot be potentially deferred forever.
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