On Computing Reachability Sets of Process Rewrite Systems

We consider the problem of symbolic reachability analysis of a class of term rewrite systems called Process Rewrite Systems (PRS). A PRS can be seen as the union of two mutually interdependent sets of term rewrite rules: a prefix rewrite system (or, equivalently, a pushdown system), and a multiset rewrite system (or, equivalently, a Petri net). These systems are natural models for multithreaded programs with dynamic creation of concurrent processes and recursive procedure calls. We propose a generic framework based on tree automata allowing to combine (finite-state automata based) procedures for the reachability analysis of pushdown systems with (linear arithmetics/semilinear sets based) procedures for the analysis of Petri nets in order to analyze PRS models. We provide a construction which is parametrized by such procedures and we show that it can be instantiated to (1) derive procedures for constructing the (exact) reachability sets of significant classes of PRS, (2) derive various approximate algorithms, or exact semi-algorithms, for the reachability analysis of PRS obtained by using existing symbolic reachability analysis techniques for Petri nets and counter automata.

[1]  Javier Esparza Grammars as Processes , 2002, Formal and Natural Computing.

[2]  Ahmed Bouajjani,et al.  TReX: A Tool for Reachability Analysis of Complex Systems , 2001, CAV.

[3]  Richard Mayr Decidability and complexity of model checking problems for infinite state systems , 1998 .

[4]  Giorgio Delzanno,et al.  Attacking Symbolic State Explosion , 2001, CAV.

[5]  Alain Finkel,et al.  How to Compose Presburger-Accelerations: Applications to Broadcast Protocols , 2002, FSTTCS.

[6]  Derick Wood,et al.  Regular tree and regular hedge languages over unranked alphabets , 2001 .

[7]  Laure Petrucci,et al.  FAST: Fast Acceleration of Symbolikc Transition Systems , 2003, CAV.

[8]  Nicolas Halbwachs,et al.  Automatic discovery of linear restraints among variables of a program , 1978, POPL.

[9]  Didier Caucal,et al.  On the Regular Structure of Prefix Rewriting , 1990, Theor. Comput. Sci..

[10]  Javier Esparza Petri Nets, Commutative Context-Free Grammars, and Basic Parallel Processes , 1995, FCT.

[11]  Mogens Nielsen,et al.  Decidability Issues for Petri Nets - a survey , 1994, Bull. EATCS.

[12]  Richard Gerber,et al.  Verifying systems with integer constraints and Boolean predicates: a composite approach , 1998, ISSTA '98.

[13]  Jens Knoop,et al.  An Automata-Theoretic Approach to Interprocedural Data-Flow Analysis , 1999, FoSSaCS.

[14]  Pierre Wolper,et al.  Symbolic Verification with Periodic Sets , 1994, CAV.

[15]  Manindra Agrawal,et al.  FST TCS 2002: Foundations of Software Technology and Theoretical Computer Science , 2002, Lecture Notes in Computer Science.

[16]  Robin Milner An Action Structure for Synchronous pi-Calculus , 1993, FCT.

[17]  Thomas Schwentick,et al.  Numerical document queries , 2003, PODS '03.

[18]  Tayssir Touili,et al.  Analyse symbolique de systèmes infinis basée sur les automates: Application à la vérification de systèmes paramétrés et dynamiques , 2003 .

[19]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[20]  Ahmed Bouajjani,et al.  Symbolic Techniques for Parametric Reasoning about Counter and Clock Systems , 2000, CAV.

[21]  Jakob Rehof,et al.  Summarizing procedures in concurrent programs , 2004, POPL.

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

[23]  Sagar Chaki,et al.  Parameterized Verification of Multithreaded Software Libraries , 2001, TACAS.

[24]  Antoni Mazurkiewicz,et al.  CONCUR '97: Concurrency Theory , 1997, Lecture Notes in Computer Science.

[25]  Javier Esparza,et al.  Verification of Safety Properties Using Integer Programming: Beyond the State Equation , 2000, Formal Methods Syst. Des..

[26]  Giorgio Delzanno,et al.  Towards the Automated Verification of Multithreaded Java Programs , 2002, TACAS.

[27]  Philippe Schnoebelen,et al.  The regular viewpoint on PA-processes , 1998, Theor. Comput. Sci..

[28]  A. Bundy,et al.  What is a proof? , 2005, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences.

[29]  Andreas Podelski,et al.  Boolean and Cartesian abstraction for model checking C programs , 2001, International Journal on Software Tools for Technology Transfer.

[30]  Klaus Havelund,et al.  SPIN Model Checking and Software Verification , 2000, Lecture Notes in Computer Science.

[31]  Robert de Simone,et al.  CONCUR'98 Concurrency Theory , 1998, Lecture Notes in Computer Science.

[32]  John E. Hopcroft,et al.  On the Reachability Problem for 5-Dimensional Vector Addition Systems , 1976, Theor. Comput. Sci..

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

[34]  Ian Stark,et al.  Free-Algebra Models for the pi-Calculus , 2005, FoSSaCS.

[35]  Jaikumar Radhakrishnan,et al.  FST TCS 2003: Foundations of Software Technology and Theoretical Computer Science , 2004, Lecture Notes in Computer Science.

[36]  Tayssir Touili,et al.  Reachability Analysis of Process Rewrite Systems , 2003, FSTTCS.

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

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

[39]  M. O'connell Research Report 2001 , 2001 .

[40]  Tayssir Touili,et al.  Reachability Analysis of Synchronized PA Systems , 2005, INFINITY.

[41]  Pierre Wolper,et al.  Iterating transducers in the large , 2003 .

[42]  Giorgio Delzanno,et al.  Babylon: An integrated Toolkit for the Specification and Verification of Parameterized Systems , 2002 .

[43]  Javier Esparza,et al.  A BDD-Based Model Checker for Recursive Programs , 2001, CAV.

[44]  Stefan Schwoon,et al.  Model checking pushdown systems , 2002 .

[45]  Andreas Podelski,et al.  Efficient algorithms for pre* and post* on interprocedural parallel flow graphs , 2000, POPL '00.

[46]  Robin Milner,et al.  Theories for the Global Ubiquitous Computer , 2004, FoSSaCS.

[47]  Pierre Wolper,et al.  Verifying Systems with Infinite but Regular State Spaces , 1998, CAV.

[48]  Pierre Wolper,et al.  A direct symbolic approach to model checking pushdown systems , 1997, INFINITY.

[49]  Thomas Colcombet Rewriting in the partial algebra of typed terms modulo AC , 2002, INFINITY.

[50]  Hartmut Ehrig,et al.  Formal and Natural Computing , 2002, Lecture Notes in Computer Science.

[51]  Denis Lugiez,et al.  Counting and Equality Constraints for Multitree Automata , 2003, FoSSaCS.