Project and Conquer: Fast Quantifier Elimination for Checking Petri Net Reachability (2401.03711v1)
Abstract: We propose a method for checking generalized reachability properties in Petri nets that takes advantage of structural reductions and that can be used, transparently, as a pre-processing step of existing model-checkers. Our approach is based on a new procedure that can project a property, about an initial Petri net, into an equivalent formula that only refers to the reduced version of this net. Our projection is defined as a variable elimination procedure for linear integer arithmetic tailored to the specific kind of constraints we handle. It has linear complexity, is guaranteed to return a sound property, and makes use of a simple condition to detect when the result is exact. Experimental results show that our approach works well in practice and that it can be useful even when there is only a limited amount of reductions.
- 30 years of GreatSPN. In Principles of Performance and Reliability Modeling and Evaluation. Springer, 2016. doi:10.1007/978-3-319-30599-8_9.
- Presentation of the 9th Edition of the Model Checking Contest. In Tools and Algorithms for the Construction and Analysis of Systems (TACAS), LNCS. Springer, 2019. doi:10.1007/978-3-662-58381-4_9.
- On the Combination of Polyhedral Abstraction and SMT-based Model Checking for Petri nets. In Application and Theory of Petri Nets and Concurrency (Petri Nets), LNCS. Springer, 2021. doi:10.1007/978-3-030-76983-3_9.
- A Polyhedral Abstraction for Petri Nets and its Application to SMT-Based Model Checking. Fundamenta Informaticae, 187(2-4), 2022. doi:10.3233/FI-222134.
- Leveraging polyhedral reductions for solving Petri net reachability problems. International Journal on Software Tools for Technology Transfer, 25, 2022. doi:10.1007/s10009-022-00694-8.
- Accelerating the Computation of Dead and Concurrent Places using Reductions. In Model Checking Software (SPIN), LNCS. Springer, 2021. doi:10.1007/978-3-030-84629-9_3.
- Artifact for VMCAI 2024 Paper "Project and Conquer: Fast Quantifier Elimination for Checking Petri Net Reachability", 2023. doi:10.5281/zenodo.7935153.
- Automated Polyhedral Abstraction Proving. In Application and Theory of Petri Nets and Concurrency (Petri Nets), LNCS. Springer, 2023. doi:10.1007/978-3-031-33620-1_18.
- Nicolas Amat. Octant (version 1.0): projection of Petri net reachability properties, 2023. URL: https://github.com/nicolasAmat/Octant.
- A polynomial time algorithm for solving systems of linear inequalities with two variables per inequality. SIAM Journal on computing, 9(4), 1980. doi:10.1137/0209063.
- SMPT: A Testbed for Reachability Methods in Generalized Petri Nets. In Formal Methods (FM), LNCS. Springer, 2023. doi:10.1007/978-3-031-27481-7_25.
- Ultimate Eliminator at SMT-COMP 2022.
- Stubborn versus structural reductions for Petri nets. Journal of Logical and Algebraic Methods in Programming, 102, 2019. doi:10.1016/j.jlamp.2018.09.002.
- G. Berthelot. Transformations and Decompositions of Nets. In Petri Nets: Central Models and Their Properties (ACPN), LNCS. Springer, 1987. doi:10.1007/978-3-540-47919-2_13.
- Petri net reductions for counting markings. In Model Checking Software (SPIN), LNCS. Springer, 2018. doi:10.1007/978-3-319-94111-0_4.
- Counting Petri net markings from reduction equations. International Journal on Software Tools for Technology Transfer, 22, 2019. doi:10.1007/s10009-019-00519-1.
- The tool TINA – Construction of abstract state spaces for Petri nets and time Petri nets. International Journal of Production Research, 42(14), 2004. doi:10.1080/00207540412331312688.
- Automatic discovery of linear restraints among variables of a program. In Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, 1978. doi:10.1145/512760.512770.
- Model checking. MIT press, 2018.
- David C Cooper. Theorem proving in arithmetic without multiplication. Machine intelligence, 7(91-99), 1972.
- TAPAAL 2.0: Integrated Development Environment for Timed-Arc Petri Nets. In Tools and Algorithms for the Construction and Analysis of Systems (TACAS), LNCS. Springer, 2012. doi:10.1007/978-3-642-28756-5_36.
- Redlog: Computer algebra meets computer logic. ACM Sigsam Bulletin, 31(2), 1997. doi:10.1145/261320.261324.
- Polyhedron Model. Encyclopedia of parallel computing, 1, 2011. doi:10.1007/978-0-387-09766-4_502.
- From many places to few: Automatic abstraction refinement for Petri nets. Fundamenta Informaticae, 88(3), 2008.
- Christoph Haase. A survival guide to Presburger arithmetic. ACM SIGLOG News, 5(3), 2018. doi:10.1145/3242953.3242964.
- Integral boundary points of convex polyhedra. In 50 Years of integer programming 1958-2008. Springer, 2010. doi:10.1007/978-3-540-68279-0_3.
- Practical issues on the projection of polyhedral sets. Annals of mathematics and artificial intelligence, 6(4), 1992. doi:10.1007/BF01535523.
- Jean-Louis Imbert. Fourier’s elimination: Which to choose? In PPCP, volume 1, 1993.
- Apron: A library of numerical abstract domains for static analysis. In Computer Aided Verification (CAV), LNCS. Springer, 2009. doi:10.1007/978-3-642-02658-4_52.
- Complete Results for the 2022 Edition of the Model Checking Contest, 2022. URL: {http://mcc.lip6.fr/2022/results.php}.
- Abstraction-based incremental inductive coverability for Petri nets. In Application and Theory of Petri Nets and Concurrency (Petri Nets), LNCS. Springer, 2021. doi:10.1007/978-3-030-76983-3_19.
- A survey of Petri nets slicing. ACM Computing Surveys (CSUR), 51(5), 2018. doi:10.1145/3241736.
- Fabrice Kordon. Model SmallOperatingSystem, Model Checking Contest benchmark, 2015. URL: https://mcc.lip6.fr/2023/pdf/SmallOperatingSystem-form.pdf.
- LAAS-CNRS. Tina Toolbox. http://projects.laas.fr/tina, 2023.
- An Integrated Environment for Petri Net Slicing. In Application and Theory of Petri Nets and Concurrency (Petri Nets), LNCS. Springer, 2017. doi:10.1007/978-3-319-57861-3_8.
- TaPAS: the Talence Presburger arithmetic suite. In Tools and Algorithms for the Construction and Analysis of Systems (TACAS), LNCS. Springer, 2009. doi:10.1007/978-3-642-00768-2_18.
- Weak quantifier elimination for the full linear theory of the integers: A uniform generalization of Presburger arithmetic. Applicable Algebra in Engineering, Communication and Computing, 18, 2007. doi:10.1007/s00200-007-0053-x.
- Antoine Miné. The octagon abstract domain. Higher-order and symbolic computation, 19(1), 2006. doi:10.1007/s10990-006-8609-1.
- David Monniaux. Quantifier elimination by lazy model enumeration. In Computer Aided Verification (CAV), LNCS. Springer, 2010. doi:10.1007/978-3-642-14295-6_51.
- William Pugh. The Omega Test: A Fast and Practical Integer Programming Algorithm for Dependence Analysis. In Proceedings of the ACM/IEEE Conference on Supercomputing. ACM, 1991. doi:10.1145/125826.125848.
- Astrid Rakow. Safety slicing Petri nets. In Application and Theory of Petri Nets and Concurrency (Petri Nets), LNCS. Springer, 2012. doi:10.1007/978-3-642-31131-4_15.
- Checking Safety Properties Using Induction and a SAT-Solver. In Formal Methods in Computer-Aided Design (FMCAD), LNCS, Berlin, Heidelberg, 2000. Springer. doi:10.1007/3-540-40922-X_8.
- Yann Thierry-Mieg. Symbolic Model-Checking Using ITS-Tools. In Tools and Algorithms for the Construction and Analysis of Systems (TACAS), LNCS. Springer, 2015. doi:10.1007/978-3-662-46681-0_20.
- Yann Thierry-Mieg. Symbolic and structural model-checking. Fundamenta Informaticae, 183(3-4), 2021. doi:10.3233/FI-2021-2090.
- Sven Verdoolaege. isl: An integer set library for the polyhedral model. In Mathematical Software (ICMS), LNCS. Springer, 2010. doi:10.1007/978-3-642-15582-6_49.
- Karsten Wolf. Petri Net Model Checking with LoLA 2. In Application and Theory of Petri Nets and Concurrency (Petri Nets), LNCS. Springer, 2018. doi:10.1007/978-3-319-91268-4_18.