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
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.
Dynamic cutoff detection in parameterized concurrent programs
Alexander Kaiser,Daniel Kroening,Thomas Wahl +2 more
- 15 Jul 2010
TL;DR: This paper presents an alternative method based on a thread-state cutoff: a number n of threads that suffice to generate all reachable thread states and demonstrates the efficiency of the approach on Petri net encodings of communication protocols, as well as on non-recursive Boolean programs run by arbitrarily many parallel threads.
Zing: A Model Checker for Concurrent Software
Tony Andrews,Shaz Qadeer,Sriram K. Rajamani,Jakob Rehof,Yichen Xie +4 more
- 13 Jul 2004
TL;DR: The zing project as discussed by the authors is an effort to build a flexible and scalable model checking infrastructure for concurrent software, which is divided into four components: (1) a modeling language for expressing concurrent models of software systems, (2) a compiler for translating a zing model into an executable representation of its transition relation, (3) a model checker for exploring the state space of the Zing model, and (4) model generators that automatically extract zing models from programs written in common programming languages.
•Journal Article
Symbolic implementation of the best transformer
Abstract: This paper shows how to achieve, under certain conditions, abstract-interpretation algorithms that enjoy the best possible precision for a given abstraction. The key idea is a simple process of successive approximation that makes repeated calls to a decision procedure, and obtains the best abstract value for a set of concrete stores that are represented symbolically, using a logical formula.
121
Analyzing recursive programs using a fixed-point calculus
Salvatore La Torre,Madhusudan Parthasarathy,Gennaro Parlato +2 more
- 15 Jun 2009
TL;DR: It is shown that recursive programs where variables range over finite domains can be effectively and efficiently analyzed by describing the analysis algorithm using a formula in a fixed-point calculus.
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