Advertisement

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

  • G. Cabodi
  • P. E. Camurati
  • C. Loiacono
  • M. Palena
  • P. Pasini
  • D. Patti
  • S. Quer
Regular Paper

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.

Keywords

Clustering algorithms Design automation Digital circuits Formal verification Hardware 

References

  1. 1.
    Biere, A.: The AIGER And-Inverter Graph (AIG) format. http://fmv.jku.at/aiger/. Accessed 23 Feb 2017
  2. 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 CrossRefMATHGoogle Scholar
  3. 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)Google Scholar
  4. 4.
    Biere, A., Claessen, K.L., Jussila, T.: The hardware model checking competition web page. Accessed 23 Feb 2017Google Scholar
  5. 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. 6.
    Bradley, A.R.: Sat-based model checking without unrolling. In: VMCAI, Austin, Texas, pp. 70–87 (2011)Google Scholar
  7. 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. 8.
    Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C–35(8), 677–691 (1986)CrossRefMATHGoogle Scholar
  9. 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. 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 CrossRefGoogle Scholar
  11. 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)MathSciNetGoogle Scholar
  12. 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. 13.
    Cabodi, G., Nocco, S., Quer, S.: Formal Method Group’s home page. http://fmgroup.polito.it/. Accessed 23 Feb 2017
  14. 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 CrossRefMATHGoogle Scholar
  15. 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 CrossRefGoogle Scholar
  16. 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)Google Scholar
  17. 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. 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. 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 MATHGoogle Scholar
  20. 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 CrossRefMATHGoogle Scholar
  21. 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. 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. 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. 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. 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. 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 MATHGoogle Scholar
  27. 27.
    Kurant, M., Butt, C.T., Markopoulou, A.: Graph size estimate. In: CoRR(2012). arXiv:1210.0460
  28. 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 CrossRefGoogle Scholar
  29. 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)Google Scholar
  30. 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 MATHGoogle Scholar
  31. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2017

Authors and Affiliations

  • G. Cabodi
    • 1
  • P. E. Camurati
    • 1
  • C. Loiacono
    • 1
  • M. Palena
    • 1
  • P. Pasini
    • 1
  • D. Patti
    • 1
  • S. Quer
    • 1
  1. 1.Dip. di Automatica ed InformaticaPolitecnico di TorinoTorinoItaly

Personalised recommendations