Decidable Models of Recursive Asynchronous Concurrency

Asynchronously communicating pushdown systems (ACPS) that satisfy the empty-stack constraint (a pushdown process may receive only when its stack is empty) are a popular decidable model for recursive programs with asynchronous atomic procedure calls. We study a relaxation of the empty-stack constraint for ACPS that permits concurrency and communication actions at any stack height, called the shaped stack constraint, thus enabling a larger class of concurrent programs to be modelled. We establish a close connection between ACPS with shaped stacks and a novel extension of Petri nets: Nets with Nested Coloured Tokens (NNCTs). Tokens in NNCTs are of two types: simple and complex. Complex tokens carry an arbitrary number of coloured tokens. The rules of NNCT can synchronise complex and simple tokens, inject coloured tokens into a complex token, and eject all tokens of a specified set of colours to predefined places. We show that the coverability problem for NNCTs is Tower-complete. To our knowledge, NNCT is the first extension of Petri nets, in the class of nets with an infinite set of token types, that has primitive recursive coverability. This result implies Tower-completeness of coverability for ACPS with shaped stacks.

[1]  Margherita Napoli,et al.  Reachability of Multistack Pushdown Systems with Scope-Bounded Matching Relations , 2011, CONCUR.

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

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

[4]  Rupak Majumdar,et al.  Language-Theoretic Abstraction Refinement , 2012, FASE.

[5]  C.-H. Luke Ong,et al.  Soter: an automatic safety verifier for erlang , 2012, AGERE! 2012.

[6]  Rupak Majumdar,et al.  Interprocedural analysis of asynchronous programs , 2007, POPL '07.

[7]  Anca Muscholl,et al.  Reachability Analysis of Communicating Pushdown Systems , 2010, FoSSaCS.

[8]  Philippe Schnoebelen,et al.  Reset Nets Between Decidability and Undecidability , 1998, ICALP.

[9]  Ahmed Bouajjani,et al.  Bounded phase analysis of message-passing programs , 2012, International Journal on Software Tools for Technology Transfer.

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

[11]  Pierre Ganty,et al.  Parikhʼs theorem: A simple and direct automaton construction , 2010, Inf. Process. Lett..

[12]  Serdar Tasiran,et al.  Exploiting synchronization in the analysis of shared-memory asynchronous programs , 2014, SPIN.

[13]  Stéphane Demri,et al.  On selective unboundedness of VASS , 2010, J. Comput. Syst. Sci..

[14]  Pierre McKenzie,et al.  A well-structured framework for analysing petri net extensions , 2004, Inf. Comput..

[15]  Philippe Schnoebelen,et al.  Revisiting Ackermann-Hardness for Lossy Counter Machines and Reset Petri Nets , 2010, MFCS.

[16]  Zvonimir Rakamaric,et al.  Asynchronously Communicating Visibly Pushdown Systems , 2013, FMOODS/FORTE.

[17]  Vineet Kahlon Boundedness vs. Unboundedness of Lock Chains: Characterizing Decidability of Pairwise CFL-Reachability for Threads Communicating via Locks , 2009, 2009 24th Annual IEEE Symposium on Logic In Computer Science.

[18]  Larry Joseph Stockmeyer,et al.  The complexity of decision problems in automata theory and logic , 1974 .

[19]  Slawomir Lasota,et al.  Partially-Commutative Context-Free Processes , 2009, CONCUR.

[20]  Sylvain Schmitz,et al.  Model Checking Coverability Graphs of Vector Addition Systems , 2011, MFCS.

[21]  Mahesh Viswanathan,et al.  Decidability Results for Well-Structured Transition Systems with Auxiliary Storage , 2007, CONCUR.

[22]  Rupak Majumdar,et al.  Expand, Enlarge, and Check for Branching Vector Addition Systems , 2013, CONCUR.

[23]  Grégoire Sutre,et al.  Hyper-Ackermannian bounds for pushdown vector addition systems , 2014, CSL-LICS.

[24]  Charles Rackoff,et al.  The Covering and Boundedness Problems for Vector Addition Systems , 1978, Theor. Comput. Sci..

[25]  Mizuhito Ogawa,et al.  Well-Structured Pushdown Systems , 2013, CONCUR.

[26]  Pierre Ganty,et al.  Complexity of pattern-based verification for multithreaded programs , 2011, POPL '11.

[27]  Philippe Schnoebelen,et al.  Well-structured transition systems everywhere! , 2001, Theor. Comput. Sci..

[28]  Daniel Kroening,et al.  Efficient Coverability Analysis by Proof Minimization , 2012, CONCUR.

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

[30]  Akash Lal,et al.  Asynchronous programs with prioritized task-buffers , 2012, SIGSOFT FSE.

[31]  Philippe Schnoebelen,et al.  Some Decidability Results for Nested Petri Nets , 1999, Ershov Memorial Conference.

[32]  Mario Bravetti,et al.  A Petri Net Based Analysis of Deadlocks for Active Objects and Futures , 2012, FACS.

[33]  Ranko Lazic The reachability problem for vector addition systems with a stack is not elementary , 2013, ArXiv.

[34]  Thomas A. Henzinger,et al.  Thread-Modular Abstraction Refinement , 2003, CAV.

[35]  Jean-François Raskin,et al.  Queue-Dispatch Asynchronous Systems , 2013, 2013 13th International Conference on Application of Concurrency to System Design.

[36]  Fernando Rosa-Velardo,et al.  Decidability and complexity of Petri nets with unordered data , 2011, Theor. Comput. Sci..

[37]  Cormac Flanagan,et al.  Thread-Modular Model Checking , 2003, SPIN.

[38]  Sylvain Schmitz,et al.  Non-elementary complexities for branching VASS, MELL, and extensions , 2014, CSL-LICS.

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

[40]  Sylvain Schmitz,et al.  Complexity Hierarchies beyond Elementary , 2013, TOCT.

[41]  Rupak Majumdar,et al.  Verifying liveness for asynchronous programs , 2009, POPL '09.

[42]  Alain Finkel,et al.  Extending the Rackoff technique to Affine nets , 2012, FSTTCS.

[43]  C.-H. Luke Ong,et al.  Automatic Verification of Erlang-Style Concurrency , 2013, SAS.

[44]  Ahmed Bouajjani,et al.  Analysis of recursively parallel programs , 2012, POPL '12.

[45]  Stéphane Demri,et al.  The covering and boundedness problems for branching vector addition systems , 2013, J. Comput. Syst. Sci..

[46]  Joël Ouaknine,et al.  Nets with Tokens which Carry Data , 2008, Fundam. Informaticae.

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

[48]  C.-H. Luke Ong,et al.  Safety Verification of Asynchronous Pushdown Systems with Shaped Stacks , 2013, CONCUR.

[49]  Philippe Schnoebelen,et al.  The Ordinal-Recursive Complexity of Timed-arc Petri Nets, Data Nets, and Other Enriched Nets , 2012, 2012 27th Annual IEEE Symposium on Logic in Computer Science.

[50]  Jaikumar Radhakrishnan,et al.  Robust Asynchronous Protocols Are Finite-State , 1998, ICALP.

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