Model Checking Dynamic Pushdown Networks

A Dynamic Pushdown Network (DPN) is a set of pushdown systems (PDSs) where each process can dynamically create new instances of PDSs. DPNs are a natural model of multi-threaded programs with (possibly recursive) procedure calls and thread creation. Thus, it is important to have model-checking algorithms for DPNs. We consider in this work model-checking DPNs against single-indexed LTL and CTL properties of the form '—i¾? f i s.t. f i is a LTL/CTL formula over the PDS i. We consider the model-checking problems w.r.t. simple valuations (i.e, whether a configuration satisfies an atomic proposition depends only on its control location) and w.r.t. regular valuations (i.e., the set of the configurations satisfying an atomic proposition is a regular set of configurations). We show that these model-checking problems are decidable. We propose automata-based approaches for computing the set of configurations of a DPN that satisfy the corresponding single-indexed LTL/CTL formula.

[1]  Markus Müller-Olm,et al.  Predecessor Sets of Dynamic Pushdown Networks with Tree-Regular Constraints , 2009, CAV.

[2]  Alexander Wenner Weighted Dynamic Pushdown Networks , 2009 .

[3]  Denis Lugiez Forward Analysis of Dynamic Network of Pushdown Systems Is Easier without Order , 2009, RP.

[4]  Vineet Kahlon,et al.  Reasoning About Threads Communicating via Locks , 2005, CAV.

[5]  Sagar Chaki,et al.  Verifying Concurrent Message-Passing C Programs with Recursive Calls , 2006, TACAS.

[6]  Tayssir Touili,et al.  Model checking dynamic pushdown networks , 2014, Formal Aspects of Computing.

[7]  Vineet Kahlon,et al.  On the analysis of interacting pushdown systems , 2007, POPL '07.

[8]  Javier Esparza,et al.  Model-Checking LTL with Regular Valuations for Pushdown Systems , 2001, TACS.

[9]  Javier Esparza,et al.  Reachability Analysis of Pushdown Automata: Application to Model-Checking , 1997, CONCUR.

[10]  Tayssir Touili,et al.  Efficient CTL model-checking for pushdown systems , 2011, Theor. Comput. Sci..

[11]  Vojtech Rehák,et al.  On decidability of LTL model checking for process rewrite systems , 2009, Acta Informatica.

[12]  Tayssir Touili,et al.  On the Reachability Analysis of Acyclic Networks of Pushdown Systems , 2008, CONCUR.

[13]  Markus Müller-Olm,et al.  Conflict Analysis of Programs with Procedures, Dynamic Thread Creation, and Monitors , 2008, SAS.

[14]  Javier Esparza,et al.  Efficient Algorithms for Model Checking Pushdown Systems , 2000, CAV.

[15]  Richard Mayr,et al.  Process rewrite systems , 1999, EXPRESS.

[16]  Helmut Seidl,et al.  Join-Lock-Sensitive Forward Reachability Analysis for Concurrent Programs with Dynamic Process Creation , 2011, VMCAI.

[17]  Tayssir Touili,et al.  A Generic Approach to the Static Analysis of Concurrent Programs with Procedures , 2003, Int. J. Found. Comput. Sci..

[18]  Eran Yahav,et al.  Verifying safety properties of concurrent Java programs using 3-valued logic , 2001, POPL '01.

[19]  Tayssir Touili,et al.  A Decision Procedure for Detecting Atomicity Violations for Communicating Processes with Locks , 2009, SPIN.

[20]  Anthony Widjaja Lin,et al.  The Complexity of Verifying Ground Tree Rewrite Systems , 2011, 2011 IEEE 26th Annual Symposium on Logic in Computer Science.

[21]  Tayssir Touili,et al.  Regular Symbolic Analysis of Dynamic Networks of Pushdown Systems , 2005, CONCUR.

[22]  Pierre Wolper,et al.  Automata theoretic techniques for modal logics of programs: (Extended abstract) , 1984, STOC '84.

[23]  Markus Müller-Olm,et al.  Precise Fixpoint-Based Analysis of Programs with Thread-Creation and Procedures , 2007, CONCUR.

[24]  Vineet Kahlon,et al.  An Automata-Theoretic Approach for Model Checking Threads for LTL Propert , 2006, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06).

[25]  Tayssir Touili,et al.  Verifying Parallel Programs with Dynamic Communication Structures , 2009, CIAA.