New Search Strategies for the Petri Net CEGAR Approach

Petri nets are a successful formal method for the modeling and verification of asynchronous, concurrent and distributed systems. Reachability analysis can provide important information about the behavior of the model. However, reachability analysis is a computationally hard problem, especially when the state space is infinite. Abstraction-based techniques are often applied to overcome complexity. In this paper we analyze an algorithm, which uses counterexample guided abstraction refinement. This algorithm proved its efficiency on the model checking contest. We examine the algorithm from a theoretical and practical point of view. On the theoretical side, we show that the algorithm cannot decide reachability for relatively simple instances. We propose a new iteration strategy to explore the invariant space, which extends the set of decidable problems. We also give proofs on the theoretical limits of our approach. On the practical side, we examine different search strategies and we present our new, complex strategy with superior performance compared to traditional strategies. Measurements show that our new contributions perform well for traditional benchmark models as well.

[1]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[2]  Gianfranco Ciardo,et al.  Ten Years of Saturation: A Petri Net Perspective , 2012, Trans. Petri Nets Other Model. Concurr..

[3]  Helmut Veith,et al.  Counterexample-guided abstraction refinement for symbolic model checking , 2003, JACM.

[4]  Thomas A. Henzinger,et al.  The software model checker B last : Applications to software engineering , 2007 .

[5]  Fabrice Kordon,et al.  Web Report on the Model Checking Contest @ Petri Net 2013 , 2013 .

[6]  Karsten Wolf,et al.  Applying CEGAR to the Petri Net State Equation , 2011, Log. Methods Comput. Sci..

[7]  Gianfranco Ciardo,et al.  Saturation: An Efficient Iteration Strategy for Symbolic State-Space Generation , 2001, TACAS.

[8]  Edsger W. Dijkstra,et al.  Hierarchical ordering of sequential processes , 1971, Acta Informatica.

[9]  George B. Dantzig,et al.  Linear Programming 1: Introduction , 1997 .

[10]  Thomas A. Henzinger,et al.  The software model checker Blast , 2007, International Journal on Software Tools for Technology Transfer.

[11]  Helmut Veith,et al.  Parameterized model checking of fault-tolerant distributed algorithms by abstraction , 2013, FMCAD 2013.

[12]  Dániel Darvas,et al.  Bounded saturation-based CTL model checking , 2013 .

[13]  Helmut Veith,et al.  Towards Modeling and Model Checking Fault-Tolerant Distributed Algorithms , 2013, SPIN.

[14]  Tamás Bartha,et al.  Extensions to the CEGAR Approach on Petri Nets , 2014, Acta Cybern..

[15]  Ernst W. Mayr An Algorithm for the General Petri Net Reachability Problem , 1984, SIAM J. Comput..