A Polyhedral Abstraction for Petri Nets and its Application to SMT-Based Model Checking

We define a method for taking advantage of net reductions in combination with a SMT-based model checker. We prove the correctness of this method using a new notion of equivalence between nets that we call polyhedral abstraction. Our approach has been implemented in a tool, named SMPT, that provides two main procedures: Bounded Model Checking (BMC) and Property Directed Reachability (PDR). Each procedure has been adapted in order to use reductions and to work with arbitrary Petri nets. We tested SMPT on a large collection of queries used during the 2020 edition of the Model Checking Contest. Our experimental results show that our approach works well, even when we only have a moderate amount of reductions. Keywords—Model Checking; Reachability problems; SMT solving; Abstraction techniques.

[1]  Arie Gurfinkel,et al.  SMT-based verification of parameterized systems , 2016, SIGSOFT FSE.

[2]  Paul Feautrier,et al.  Automatic Parallelization in the Polytope Model , 1996, The Data Parallel Programming Model.

[3]  Stephan Merz,et al.  Model Checking , 2000 .

[4]  Alberto Griggio,et al.  Infinite-state invariant checking with IC3 and predicate abstraction , 2016, Formal Methods Syst. Des..

[5]  Aaron R. Bradley Understanding IC3 , 2012, SAT.

[6]  Gérard Berthelot,et al.  Transformations and Decompositions of Nets , 1986, Advances in Petri Nets.

[7]  Armin Biere,et al.  Bounded Model Checking Using Satisfiability Solving , 2001, Formal Methods Syst. Des..

[8]  Hubert Garavel,et al.  Automatic Decomposition of Petri Nets into Automata Networks – A Synthetic Account , 2020, Petri Nets.

[9]  Rupak Majumdar,et al.  An SMT-Based Approach to Coverability Analysis , 2014, CAV.

[10]  Fabrice Kordon,et al.  MCC'2017 - The Seventh Model Checking Contest , 2018, Trans. Petri Nets Other Model. Concurr..

[11]  Fabrice Kordon,et al.  Presentation of the 9th Edition of the Model Checking Contest , 2019, TACAS.

[12]  Jean-Pierre Talpin,et al.  Polyhedral Analysis for Synchronous Languages , 1999, SAS.

[13]  Aaron R. Bradley,et al.  SAT-Based Model Checking without Unrolling , 2011, VMCAI.

[14]  Alessandro Armando,et al.  Bounded Model Checking of Software Using SMT Solvers Instead of SAT Solvers , 2006, SPIN.

[15]  Fabrice Kordon,et al.  Petri Nets Repository: A Tool to Benchmark and Debug Petri Net Tools , 2017, Petri Nets.

[16]  Sylvain Conchon,et al.  Cubicle: A Parallel SMT-Based Model Checker for Parameterized Systems - Tool Paper , 2012, CAV.

[17]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[18]  Silvano Dal-Zilio,et al.  Petri Net Reductions for Counting Markings , 2018, SPIN.

[19]  Nicolas Amat A New Approach for the Symbolic Model Checking of Petri Nets , 2020 .

[20]  Jirí Srba,et al.  Stubborn versus structural reductions for Petri nets , 2019, J. Log. Algebraic Methods Program..

[21]  Jörg Desel,et al.  Application and Theory of Petri Nets and Concurrency , 2013, Lecture Notes in Computer Science.

[22]  Silvano Dal-Zilio,et al.  Counting Petri net markings from reduction equations , 2019, International Journal on Software Tools for Technology Transfer.

[23]  Richard J. Lipton,et al.  Reduction: a method of proving properties of parallel programs , 1975, CACM.

[24]  Gérard Berthelot Transformations and Decompositions of Nets , 1986 .

[25]  Clark W. Barrett,et al.  The SMT-LIB Standard Version 2.0 , 2010 .

[26]  François Vernadat,et al.  Compositional Design and Verification of Communication Protocols, Using Labelled Petri Nets , 1990, CAV.

[27]  Alessandro Armando,et al.  Bounded model checking of software using SMT solvers instead of SAT solvers , 2006, International Journal on Software Tools for Technology Transfer.

[28]  Manuel Silva Suárez,et al.  Linear Algebraic and Linear Programming Techniques for the Analysis of Place or Transition Net Systems , 1996, Petri Nets.

[29]  Leslie Lamport,et al.  Reduction in TLA , 1998, CONCUR.

[30]  Silvano Dal-Zilio,et al.  Checking marking reachability with the state equation in Petri net subclasses , 2020, ArXiv.

[31]  Alain Finkel,et al.  The Minimal Coverability Graph for Petri Nets , 1991, Applications and Theory of Petri Nets.

[32]  Ruzica Piskac,et al.  Incremental, Inductive Coverability , 2013, CAV.

[33]  François Vernadat,et al.  Compositional Design and Verification of Communication Protocols, Using Labelled PETRI Nets , 1990, International Conference on Computer Aided Verification.

[34]  Y. Thierry-Mieg Structural Reductions Revisited , 2020, Petri Nets.

[35]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[36]  Fabrice Kordon,et al.  Hierarchical Set Decision Diagrams and Regular Models , 2009, TACAS.

[37]  P. Alam ‘T’ , 2021, Composites Engineering: An A–Z Guide.