Verification of Well-Formed Communicating Recursive State Machines

In this paper we introduce a new (non-Turing powerful) formal model of recursive concurrent programs called well-formed communicating recursive state machines (CRSM). CRSM extend recursive state machines (RSM) by allowing a restricted form of concurrency: a state of a module can be refined into a finite collection of modules (working in parallel) in a potentially recursive manner. Communication is only possible between the activations of modules invoked on the same fork. We study the model checking problem of CRSM with respect to specifications expressed in a temporal logic that extends CaRet with a parallel operator (ConCaRet). We propose a decision algorithm that runs in time exponential in both the size of the formula and the maximum number of modules that can be invoked simultaneously. This matches the known lower bound for deciding CaRet model checking of RSM, and therefore, we prove that model checking CRSM with respect to ConCaRet specifications is Exptime-complete.

[1]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[2]  Javier Esparza,et al.  Model checking LTL with regular valuations for pushdown systems , 2001, Inf. Comput..

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

[4]  Sampath Kannan,et al.  Communicating Hierarchical State Machines , 1999, ICALP.

[5]  Walter S. Brainerd,et al.  Tree Generating Regular Systems , 1969, Inf. Control..

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

[7]  M. Nielsen,et al.  Decidability Issues for Petri Nets , 1994 .

[8]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

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

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

[11]  Vincent Danos,et al.  Transactions in RCCS , 2005, CONCUR.

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

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

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

[15]  Sophie Tison,et al.  Fair Termination is Decidable for Ground Systems , 1989, RTA.

[16]  Igor Walukiewicz Pushdown Processes: Games and Model-Checking , 2001, Inf. Comput..

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

[18]  Swarat Chaudhuri,et al.  On-the-Fly Reachability and Cycle Detection for Recursive State Machines , 2005, TACAS.

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

[20]  Ahmed Bouajjani,et al.  Constrained Properties, Semilinear Systems, and Petri Nets , 1996, CONCUR.

[21]  Jos C. M. Baeten,et al.  Process Algebra , 2007, Handbook of Dynamic System Modeling.

[22]  Wolfgang Thomas,et al.  Automata on Infinite Objects , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[23]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[24]  Rémi Gilleron,et al.  Proofs and Reachablity Problem for Ground Rewrite Systems , 1990, IMYCS.

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

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

[27]  Sophie Tison,et al.  Decidability of the Confluence of Finite Ground Term Rewrite Systems and of Other Related Term Rewrite Systems , 1990, Inf. Comput..

[28]  Christof Löding,et al.  Infinite graphs generated by tree rewriting , 2003 .

[29]  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).

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

[31]  Marvin Minsky,et al.  Computation : finite and infinite machines , 2016 .

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

[33]  Sophie Tison,et al.  The theory of ground rewrite systems is decidable , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[34]  Salvatore La Torre,et al.  A Robust Class of Context-Sensitive Languages , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

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

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

[37]  Rajeev Alur,et al.  Analysis of recursive state machines , 2001, TOPL.

[38]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[39]  Igor Walukiewicz,et al.  Pushdown Processes: Games and Model-Checking , 1996, Inf. Comput..

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

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

[42]  Daniel Le Métayer,et al.  Verification of control flow based security properties , 1999, Proceedings of the 1999 IEEE Symposium on Security and Privacy (Cat. No.99CB36344).

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