Abstract
Hardware systems complexity has constantly increased in recent years. Guaranteeing their correctness is a must. Formal verification techniques, such as model checking, now play a major role in industrial environments. Their efficiency in dealing with large sets of properties is crucial. This paper deals with property grouping, decomposition, and coverage in model checking. Property grouping is a valuable solution whenever several properties must be proved for a single model. As such sets may include “easy-to-prove” and/or “similar” properties, grouping can reduce overhead avoiding sub-tasks repetition. Property decomposition, following the divide-and-conquer paradigm, can be effective whenever a property turns out to be “hard-to-prove.” Our contribution is a heuristic property manager, running on top of a multi-engine model checking portfolio, aiming at productivity optimization. We compare different clustering heuristics, and we exploit decomposition strategies for property sub-setting. We also consider the problem of evaluating a coverage measure for properties, used to monitor the “advancement” of the verification task.
Similar content being viewed by others
Notes
This is a common situation, as invariants are often specified as pseudo-outputs of the model under check.
References
Biere, A.: The AIGER And-Inverter Graph (AIG) format. http://fmv.jku.at/aiger/. Accessed 23 Feb 2017
Beer, I., Ben-David, S., Eisner, C., Rodeh, Y.: Efficient detection of vacuity in temporal model checking. Form. Methods Syst. Des. 18(2), 141–163 (2001). doi:10.1023/A:1008779610539
Biere, A., Cimatti, A., Clarke, E.M., Fujita, M., Zhu, Y.: Symbolic model checking using SAT procedures instead of BDDs. In: Proceedings of 36th Design Automation Conference, pp. 317–320. IEEE Computer Society, New Orleans (1999)
Biere, A., Claessen, K.L., Jussila, T.: The hardware model checking competition web page. Accessed 23 Feb 2017
Bradley, A.R.: SAT-Based Model Checking Without Unrolling, LNCS, vol. 6538, pp. 70–87. Springer, Berlin (2011). doi:10.1007/978-3-642-18275-4_7
Bradley, A.R.: Sat-based model checking without unrolling. In: VMCAI, Austin, Texas, pp. 70–87 (2011)
Brayton, R.K., Mishchenko, A.: ABC: An Academic Industrial-Strength Verification Tool, pp. 24–40. Springer, Berlin (2010). doi:10.1007/978-3-642-14295-6_5
Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C–35(8), 677–691 (1986)
Cabodi, G.: DIFTS 2014: International workshop on design and implementation of formal tools and systems. http://fmgroup.polito.it/cabodi/difts2014/. Accessed 23 Feb 2017
Cabodi, G., Camurati, P., Quer, S.: A Graph-labeling approach for efficient cone-of-influence computation in model-checking problems with multiple properties. Softw. Pract. Exp. 46, 493–511 (2016). doi:10.1002/spe.2321
Cabodi, G., Loiacono, C., Palena, M., Pasini, P., Patti, D., Quer, S., Vendraminetto, D., Biere, A., Heljanko, K.: Hardware model checking competition 2014: an analysis and comparison of model checkers and benchmarks. Int. J. Satisf. Boolean Model. Comput. (JSAT) 9, 135–172 (2016)
Cabodi, G., Nocco, S.: Optimized model checking of multiple properties. In: Proceedings of Design Automation and Test in Europe Conference, pp. 1–4. IEEE Computer Society, Grenoble (2011). doi:10.1109/DATE.2011.5763279
Cabodi, G., Nocco, S., Quer, S.: Formal Method Group’s home page. http://fmgroup.polito.it/. Accessed 23 Feb 2017
Cabodi, G., Nocco, S., Quer, S.: Benchmarking a model checker for algorithmic improvements and tuning for performance. Form. Methods Syst. Des. 39(2), 205–227 (2011). doi:10.1007/s10703-011-0123-3
Campos, J., Al-Asaad, H.: A novel mutation-based validation paradigm for high-level hardware descriptions. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 16(11), 1499–1512 (2008). doi:10.1109/TVLSI.2008.2001134
Camurati, P., Loiacono, C., Pasini, P., Patti, D., Quer, S.: To split or to Group: from divide-and-conquer to sub-task sharing in verifying multiple properties. In: International Workshop on Design and Implementation of Formal Tools and Systems (DIFTS), Lausanne, Switzerland (2014)
Cavada, R., Cimatti, A., Dorigatti, M., Griggio, A., Mariotti, A., Micheli, A., Mover, S., Roveri, M., Tonetta, S.: The nuXmv Symbolic Model Checker, pp. 334–342. Springer, Cham (2014). doi:10.1007/978-3-319-08867-9_22
Chen, M., Mishra, P.: Functional test generation using efficient property clustering and learning techniques. IEEE Trans. Comput. Aided Des. 29(3), 396–404 (2010). doi:10.1109/TCAD.2010.2041846
Chockler, H., Kupferman, O., Kurshan, R.P., Vardi, M.Y.: A Practical Approach to Coverage in Model Checking, LNCS, vol. 2102, pp. 66–78. Springer, Paris (2001). doi:10.1007/3-540-44585-4_7
Chockler, H., Kupferman, O., Vardi, M.Y.: Coverage metrics for temporal logic model checking. Form. Methods Syst. Des. 28(3), 189–212 (2006). doi:10.1007/s10703-006-0001-6
Fraer, R., Ikram, S., Kamhi, G., Leonard, T., Mokkedem, A.: Accelerated verification of RTL assertions based on satisfiability solvers. In: Proceedings of High-Level Design Validation and Test Workshop, pp. 107–110 (2002). doi:10.1109/HLDVT.2002.1224437
Hoskote, Y., Kam, T., Ho, P.H., Zhao, X.: Coverage estimation for symbolic model checking. In: Proceedings of 36th Design Automation Conference, pp. 300–305. ACM, New York (1999). doi:10.1145/309847.309936
Baumgartner, J., Loiacono, C., Palena, M., Pasini, P., Patti, D., Quer, S., Ricossa, S., Vendraminetto, D.: Fast cone-of-influence computation and estimation in problems with multiple properties. In: Proceedings of Design Automation and Test in Europe Conference, pp. 803–806. IEEE Computer Society, Grenoble (2013). doi:10.7873/DATE.2013.170
Jayakumar, N., Purandare, M., Somenzi, F.: Dos and don’ts of CTL state coverage estimation. In: Proceedings of the 40th Annual Design Automation Conference, DAC ’03, pp. 292–295. ACM, New York (2003). doi:10.1145/775832.775908
Katzir, L., Liberty, E., Somekh, O.: Estimating sizes of social networks via biased sampling. In: Proceedings of the 20th International Conference on World Wide Web, WWW ’11, pp. 597–606. ACM, New York (2011). doi:10.1145/1963405.1963489
Khasidashvili, Z., Nadel, A., Palti, A., Hanna, Z.: Simultaneous SAT-Based Model Checking of Safety Properties, pp. 56–75. Springer, Berlin (2006). doi:10.1007/11678779_5
Kurant, M., Butt, C.T., Markopoulou, A.: Graph size estimate. In: CoRR(2012). arXiv:1210.0460
McMillan, K.L.: Interpolation and SAT-based model checking. In: Hunt Jr., W.A., Somenzi, F. (eds.) Proceedings of Computer Aided Verification, LNCS, vol. 2725, pp. 1–13. Springer, Boulder (2003). doi:10.1007/978-3-540-45069-6_1
Offutt, A.J., Untch, R.H.: Mutation 2000: Uniting the orthogonal. In: Mutation 2000: Mutation Testing in the Twentieth and the Twenty First Centuries, pp. 45–55. San Jose, CA, USA (2000)
Purandare, M., Somenzi, F.: Vacuum Cleaning CTL Formulae, LNCS, vol. 2102, pp. 485–499. Springer, Copenhagen (2002). doi:10.1007/3-540-45657-0_39
Qin, X., Chen, M., Mishra, P.: Synchronized generation of directed tests using satisfiability solving. In: Proceedings of International Conference on VLSI Design, VLSID ’10, pp. 351–356. IEEE Computer Society, Washington (2010). doi:10.1109/VLSI.Design.2010.47
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cabodi, G., Camurati, P.E., Loiacono, C. et al. To split or to group: from divide-and-conquer to sub-task sharing for verifying multiple properties in model checking. Int J Softw Tools Technol Transfer 20, 313–325 (2018). https://doi.org/10.1007/s10009-017-0451-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-017-0451-8