Skip to main content
Log in

To split or to group: from divide-and-conquer to sub-task sharing for verifying multiple properties in model checking

  • Regular Paper
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

  1. This is a common situation, as invariants are often specified as pseudo-outputs of the model under check.

References

  1. Biere, A.: The AIGER And-Inverter Graph (AIG) format. http://fmv.jku.at/aiger/. Accessed 23 Feb 2017

  2. 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

    Article  MATH  Google Scholar 

  3. 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)

  4. Biere, A., Claessen, K.L., Jussila, T.: The hardware model checking competition web page. Accessed 23 Feb 2017

  5. 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

  6. Bradley, A.R.: Sat-based model checking without unrolling. In: VMCAI, Austin, Texas, pp. 70–87 (2011)

  7. 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

    Google Scholar 

  8. Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C–35(8), 677–691 (1986)

    Article  MATH  Google Scholar 

  9. 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

  10. 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

    Article  Google Scholar 

  11. 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)

    MathSciNet  Google Scholar 

  12. 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

  13. Cabodi, G., Nocco, S., Quer, S.: Formal Method Group’s home page. http://fmgroup.polito.it/. Accessed 23 Feb 2017

  14. 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

    Article  MATH  Google Scholar 

  15. 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

    Article  Google Scholar 

  16. 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)

  17. 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

    Google Scholar 

  18. 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

  19. 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

    MATH  Google Scholar 

  20. 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

    Article  MATH  Google Scholar 

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

    MATH  Google Scholar 

  27. Kurant, M., Butt, C.T., Markopoulou, A.: Graph size estimate. In: CoRR(2012). arXiv:1210.0460

  28. 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

    Chapter  Google Scholar 

  29. 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)

  30. 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

    MATH  Google Scholar 

  31. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to P. Pasini.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-017-0451-8

Keywords

Navigation