A Divide and Conquer Approach to Eventual Model Checking
Mathematics
https://doi.org/10.3390/MATH9040368Abstract
The paper proposes a new technique to mitigate the state of explosion in model checking. The technique is called a divide and conquer approach to eventual model checking. As indicated by the name, the technique is dedicated to eventual properties. The technique divides an original eventual model checking problem into multiple smaller model checking problems and tackles each smaller one. We prove a theorem that the multiple smaller model checking problems are equivalent to the original eventual model checking problem. We conducted a case study that demonstrates the power of the proposed technique.
References (37)
- Burch, J.R.; Clarke, E.M.; McMillan, K.L.; Dill, D.L.; Hwang, L.J. Symbolic Model Checking: 10 20 States and Beyond. Inf. Comput. 1992, 98, 142-170. [CrossRef]
- Clarke, E.M.; Biere, A.; Raimi, R.; Zhu, Y. Bounded Model Checking Using Satisfiability Solving. Form. Methods Syst. Des. 2001, 19, 7-34. [CrossRef]
- Aung, M.N.; Phyo, Y.; Ogata, K. Formal Specification and Model Checking of the Lim-Jeong-Park-Lee Autonomous Vehicle Intersection Control Protocol. In Proceedings of the 31st International Conference on Software Engineering and Knowledge Engineering, SEKE 2019, Lisbon, Portugal, 10-12 July 2019; pp. 159-208. [CrossRef]
- Lim, J.; Jeong, Y.; Park, D.; Lee, H. An efficient distributed mutual exclusion algorithm for intersection traffic control. J. Supercomput. 2018, 74, 1090-1107. [CrossRef]
- Clavel, M.; Durán, F.; Eker, S.; Lincoln, P.; Martí-Oliet, N.; Meseguer, J.; Talcott, C. All About Maude-A High-Performance Logical Framework: How to Specify, Program and Verify Systems in Rewriting Logic; Lecture Notes in Computer Science (LNCS); Springer: Berlin/Heidelberg, Germany, 2007; Volume 4350. [CrossRef]
- Holzmann, G.J. The SPIN Model Checker-Primer and Reference Manual; Addison-Wesley: Reading, MA, USA, 2004.
- Goguen, J.A.; Kirchner, C.; Kirchner, H.; Mégrelis, A.; Meseguer, J.; Winkler, T.C. An Introduction to OBJ 3. In Proceedings of the Conditional Term Rewriting Systems, 1st International Workshop, Orsay, France, 8-10 July 1987; Lecture Notes in Computer Science;
- Kaplan, S., Jouannaud, J., Eds.; Springer: Berlin/Heidelberg, Germany, 1987; Volume 308, pp. 258-263. [CrossRef]
- Diaconescu, R.; Futatsugi, K. Cafeobj Report-The Language, Proof Techniques, and Methodologies for Object-Oriented Algebraic Specification; AMAST Series in Computing; World Scientific: Singapore, 1998; Volume 6. [CrossRef]
- Cimatti, A.; Clarke, E.M.; Giunchiglia, E.; Giunchiglia, F.; Pistore, M.; Roveri, M.; Sebastiani, R.; Tacchella, A. NuSMV 2: An OpenSource Tool for Symbolic Model Checking. In Proceedings of the Computer Aided Verification, 14th International Conference, CAV 2002, Copenhagen, Denmark, 27-31 July 2002; Lecture Notes in Computer Science; Brinksma, E., Larsen, K.G., Eds.; Springer: Berlin/Heidelberg, Germany, 2002; Volume 2404, pp. 359-364. [CrossRef]
- Ogata, K.; Futatsugi, K. Comparison of Maude and SAL by Conducting Case Studies Model Checking a Distributed Algorithm. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 2007, 90, 1690-1703. [CrossRef]
- de Moura, L.M.; Owre, S.; Rueß, H.; Rushby, J.M.; Shankar, N.; Sorea, M.; Tiwari, A. SAL 2. Computer Aided Verifi- cation. In Proceedings of the 16th International Conference, CAV 2004, Boston, MA, USA, 13-17 July 2004; Lecture Notes in Computer Science; Alur, R., Peled, D.A., Eds.; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3114, pp. 496-500.
- Clarke, E.M.; Grumberg, O.; Minea, M.; Peled, D.A. State Space Reduction Using Partial Order Techniques. Int. J. Softw. Tools Technol. Transf. 1999, 2, 279-287. [CrossRef]
- Clarke, E.M.; Emerson, E.A.; Jha, S.; Sistla, A.P. Symmetry Reductions in Model Checking. In Proceedings of the CAV 1998, Vancouver, BC, Canada, 28 June-2 July 1998; Lecture Notes in Computer Science; Springer: Vancouver, BC, Canada, 1998; Volume 1427, pp. 147-158. [CrossRef]
- Clarke, E.M.; Grumberg, O.; Long, D.E. Model Checking and Abstraction. ACM Trans. Program. Lang. Syst. 1994, 16, 1512-1542.
- Clarke, E.M.; Grumberg, O.; Jha, S.; Lu, Y.; Veith, H. Counterexample-guided abstraction refinement for symbolic model checking. J. ACM 2003, 50, 752-794. [CrossRef]
- Meseguer, J.; Palomino, M.; Martí-Oliet, N. Equational abstractions. Theor. Comput. Sci. 2008, 403, 239-264.
- Bae, K.; Escobar, S.; Meseguer, J. Abstract Logical Model Checking of Infinite-State Systems Using Narrowing. In Proceedings of the RTA 2013, Eindhoven, The Netherlands, 24-26 June 2013; LIPIcs; Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik: Eindhoven, The Netherlands, 2013; Volume 21, pp. 81-96. [CrossRef]
- Phyo, Y.; Minh, C.D.; Ogata, K. A Divideeventual model checking Conquer Approach to Leads-to Model Checking. Comput. J. 2021, [CrossRef]
- Clarke, E.M.; Klieber, W.; Novácek, M.; Zuliani, P. Model Checking and the State Explosion Problem. In LASER Summer School 2011; Lecture Notes in Computer Science; Springer: Elba Island, Italy, 2011; Volume 7682, pp. 1-30. [CrossRef]
- Sheeran, M.; Singh, S.; Stålmarck, G. Checking Safety Properties Using Induction and a SAT-Solver. In Proceedings of the FMCAD, Austin, TX, USA, 1-3 November 2000; Lecture Notes in Computer Science; Springer: Austin, TX, USA, 2000; Volume 1954, pp. 108-125. [CrossRef]
- de Moura, L.M.; Rueß, H.; Sorea, M. Bounded Model Checking and Induction: From Refutation to Verification. In Proceedings of the CAV 2003, Boulder, CO, USA, 8-12 July 2003; Lecture Notes in Computer Science; Springer: Boulder, CO, USA, 2003; Volume 2725, pp. 14-26. [CrossRef]
- Inverso, O.; Tomasco, E.; Fischer, B.; Torre, S.L.; Parlato, G. Bounded Model Checking of Multi-threaded C Programs via Lazy Sequentialization. In Proceedings of the Computer Aided Verification-26th International Conference, CAV 2014, Held as Part of the Vienna Summer of Logic, VSL 2014, Vienna, Austria, 18-22 July 2014; Lecture Notes in Computer Science; Biere, A., Bloem, R., Eds.; Springer: Berlin/Heidelberg, Germany, 2014; Volume 8559, pp. 585-602. [CrossRef]
- Inverso, O.; Trubiani, C. Parallel and distributed bounded model checking of multi-threaded programs. In Proceedings of the PPoPP '20: 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, CA, USA, 22-26 February 2020; Gupta, R., Shen, X., Eds.; ACM: New York, NY, USA, 2020; pp. 202-216. [CrossRef]
- Barnat, J.; Bloemen, V.; Duret-Lutz, A.; Laarman, A.; Petrucci, L.; van de Pol, J.; Renault, E. Parallel Model Checking Algorithms for Linear-Time Temporal Logic. In Handbook of Parallel Constraint Reasoning; Springer: Berlin/Heidelberg, Germany, 2018; pp. 457-507. [CrossRef]
- Barnat, J.; Brim, L.; Havel, V.; Havlícek, J.; Kriho, J.; Lenco, M.; Rockai, P.; Still, V.; Weiser, J. DiVinE 3.0-An Explicit-State Model Checker for Multithreaded C & C++ Programs. In CAV 2013; LNCS; Springer: Berlin/Heidelberg, Germany, 2013; Volume 8044, pp. 863-868. [CrossRef]
- Kong, W.; Liu, L.; Ando, T.; Yatsu, H.; Hisazumi, K.; Fukuda, A. Facilitating Multicore Bounded Model Checking with Stateless Explicit-State Exploration. Comput. J. 2015, 58, 2824-2840. [CrossRef]
- Kong, W.; Hou, G.; Hu, X.; Ando, T.; Hisazumi, K.; Fukuda, A. Garakabu2: An SMT-based bounded model checker for HSTM designs in ZIPC. J. Inf. Sec. Appl. 2016, 31, 61-74. [CrossRef]
- Holzmann, G.J.; Bosnacki, D. The Design of a Multicore Extension of the SPIN Model Checker. IEEE Trans. Softw. Eng. 2007, 33, 659-674. [CrossRef]
- Holzmann, G.J.; Joshi, R.; Groce, A. Swarm Verification Techniques. IEEE Trans. Softw. Eng. 2011, 37, 845-857. [CrossRef]
- DeFrancisco, R.; Cho, S.; Ferdman, M.; Smolka, S.A. Swarm model checking on the GPU. Int. J. Softw. Tools Technol. Transf. 2020, 22, 583-599. [CrossRef]
- Biere, A.; Artho, C.; Schuppan, V. Liveness Checking as Safety Checking. Electron. Notes Theor. Comput. Sci. 2002, 66, 160-177.
- Pnueli, A.; Shahar, E. Liveness and Acceleration in Parameterized Verification. In Proceedings of the Computer Aided Verification, 12th International Conference, CAV 2000, Chicago, IL, USA, 15-19 July 2000; Lecture Notes in Computer Science; Emerson, E.A., Sistla, A.P., Eds.; Springer: Berlin/Heidelberg, Germany, 2000; Volume 1855, pp. 328-343. [CrossRef]
- Padon, O.; Hoenicke, J.; Losa, G.; Podelski, A.; Sagiv, M.; Shoham, S. Reducing liveness to safety in first-order logic. Proc. ACM Program. Lang. 2018, 2, 1-33. [CrossRef]
- Bradley, A.R. Understanding IC3. In Proceedings of the Theory and Applications of Satisfiability Testing-SAT 2012-15th International Conference, Trento, Italy, 17-20 June 2012; Lecture Notes in Computer Science; Cimatti, A., Sebastiani, R., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7317, pp. 1-14. [CrossRef]
- Bradley, A.R. IC3 and beyond: Incremental, Inductive Verification. In Proceedings of the Computer Aided Verification-24th International Conference, CAV 2012, Berkeley, CA, USA, 7-13 July 2012; Lecture Notes in Computer Science; Madhusudan, P., Seshia, S.A., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7358, p. 4. [CrossRef]
- Riazanov, A.; Voronkov, A. The design and implementation of VAMPIRE. AI Commun. 2002, 15, 91-110.