Asynchronously Communicating Visibly Pushdown Systems

We introduce an automata-based formal model suitable for specifying, modeling, analyzing, and verifying asynchronous task-based and message-passing programs. Our model consists of visibly pushdown automata communicating over unbounded reliable point-to-point first-in-first-out queues. Such a combination unifies two branches of research, one focused on task-based models, and the other on models of message-passing programs. Our model generalizes previously proposed models that have decidable reachability in several ways. Unlike task-based models of asynchronous programs, our model allows sending and receiving of messages even when stacks are not empty, without imposing restrictions on the number of context-switches or communication topology. Our model also generalizes the well-known communicating finite-state machines with recognizable channel property allowing (1) individual components to be visibly pushdown automata, which are more suitable for modeling (possibly recursive) programs, (2) the set of words (i.e., languages) of messages on queues to form a visibly pushdown language, which permits modeling of remote procedure calls and simple forms of counting, and (3) the relations formed by tuples of such languages to be synchronized, which permits modeling of complex interactions among processes. In spite of these generalizations, we prove that the composite configuration and control-state reachability are still decidable for our model.

[1]  Rupak Majumdar,et al.  Algorithmic verification of asynchronous programs , 2010, TOPL.

[2]  Eddie Kohler,et al.  The Click modular router , 1999, SOSP.

[3]  Jean-François Raskin,et al.  Visibly Pushdown Transducers ⋆ , 2008 .

[4]  Vincent Danos,et al.  Reversible Communicating Systems , 2004, CONCUR.

[5]  Willy Zwaenepoel,et al.  Flash: An efficient and portable Web server , 1999, USENIX Annual Technical Conference, General Track.

[6]  Jakob Rehof,et al.  Context-Bounded Model Checking of Concurrent Software , 2005, TACAS.

[7]  Tero Harju,et al.  The Equivalence Problem of Multitape Finite Automata , 1991, Theor. Comput. Sci..

[8]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[9]  Salvatore La Torre,et al.  Context-Bounded Analysis of Concurrent Queue Systems , 2008, TACAS.

[10]  Rui Wang,et al.  How to Shop for Free Online -- Security Analysis of Cashier-as-a-Service Based Web Stores , 2011, 2011 IEEE Symposium on Security and Privacy.

[11]  James R. Larus,et al.  The Singularity system , 2010, Commun. ACM.

[12]  E. Mark Gold,et al.  Language Identification in the Limit , 1967, Inf. Control..

[13]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[14]  Olivier Carton,et al.  Decision problems among the main subfamilies of rational relations , 2006, RAIRO Theor. Informatics Appl..

[15]  C. C. Elgot,et al.  Sets recognized by n-tape automata , 1969 .

[16]  Pierre Wolper,et al.  The Power of QDDs (Extended Abstract) , 1997, SAS.

[17]  Jean Berstel,et al.  Context-Free Languages and Pushdown Automata , 1997, Handbook of Formal Languages.

[18]  Jacques Sakarovitch,et al.  Synchronized Rational Relations of Finite and Infinite Words , 1993, Theor. Comput. Sci..

[19]  Mahesh Viswanathan,et al.  Model Checking Multithreaded Programs with Asynchronous Atomic Methods , 2006, CAV.

[20]  Jan K. Pachl,et al.  Protocol Description and Analysis Based on a State Transition Model with Channel Expressions , 1987, PSTV.

[21]  Eran Yahav,et al.  Typestate verification: Abstraction techniques and complexity results , 2005, Sci. Comput. Program..

[22]  Tomás Vojnar,et al.  Regular Model Checking Using Inference of Regular Languages , 2004, INFINITY.

[23]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[24]  Pierre Wolper,et al.  The Power of QDDs , 1997 .

[25]  Kousha Etessami,et al.  Analysis of Recursive Game Graphs Using Data Flow Equations , 2004, VMCAI.

[26]  Rajeev Alur,et al.  Visibly pushdown languages , 2004, STOC '04.

[27]  David E. Culler,et al.  System architecture directions for networked sensors , 2000, SIGP.

[28]  Todd Millstein,et al.  Automatic predicate abstraction of C programs , 2001, PLDI '01.

[29]  Mahesh Viswanathan,et al.  Learning to Verify Safety Properties , 2004, ICFEM.

[30]  G. Ramalingam,et al.  Context-sensitive synchronization-sensitive analysis is undecidable , 2000, TOPL.

[31]  Samik Basu,et al.  Synchronizability for Verification of Asynchronously Communicating Systems , 2012, VMCAI.

[32]  Ahmed Bouajjani,et al.  Abstract Regular Model Checking , 2004, CAV.

[33]  Dana S. Scott,et al.  Finite Automata and Their Decision Problems , 1959, IBM J. Res. Dev..

[34]  Parosh Aziz Abdulla,et al.  A Survey of Regular Model Checking , 2004, CONCUR.

[35]  Ajitha Rajan,et al.  Requirements Coverage as an Adequacy Measure for Conformance Testing , 2008, ICFEM.

[36]  Yves Andre,et al.  Word-into-Tree Transducers with Bounded Difference , 1997, TAPSOFT.

[37]  Marcus Nilsson,et al.  Regular Model Checking , 2000, CAV.

[38]  Jan K. Pachl Reachability problems for communicating finite state machines , 2003, ArXiv.

[39]  Willy Zwaenepoel,et al.  An Efficient and Portable Web Server , 1999 .

[40]  Eran Yahav,et al.  Typestate Verification: Abstraction Techniques and Complexity Results , 2003, SAS.

[41]  Daniel Brand,et al.  On Communicating Finite-State Machines , 1983, JACM.

[42]  Hubert Comon,et al.  Tree automata techniques and applications , 1997 .