Advertisement

Intersection and Rotation of Assumption Literals Boosts Bug-Finding

  • Rohit DurejaEmail author
  • Jianwen LiEmail author
  • Geguang Pu
  • Moshe Y. Vardi
  • Kristin Y. RozierEmail author
Conference paper
  • 30 Downloads
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12031)

Abstract

SAT-based techniques comprise the state-of-the-art in functional verification of safety-critical hardware and software, including IC3/PDR-based model checking and Bounded Model Checking (BMC). BMC is the incontrovertible best method for unsafety checking, aka bug-finding. Complementary Approximate Reachability (CAR) and IC3/PDR complement BMC for bug-finding by detecting different sets of bugs. To boost the efficiency of formal verification, we introduce heuristics involving intersection and rotation of the assumption literals used in the SAT encodings of these techniques. The heuristics generate smaller unsat cores and diverse satisfying assignments that help in faster convergence of these techniques, and have negligible runtime overhead. We detail these heuristics, incorporate them in CAR, and perform an extensive experimental evaluation of their performance, showing a 25% boost in bug-finding efficiency of CAR. We contribute a detailed analysis of the effectiveness of these heuristics: their influence on SAT-based bug-finding enables detection of different bugs from BMC-based checking. We find the new heuristics are applicable to IC3/PDR-based algorithms as well, and contribute a modified clause generalization procedure.

Notes

Acknowledgments

We thank the anonymous reviewers for their valuable comments. We thank Alan Mischenko and Alexander Ivrii for answering several queries during early phases of this work. This work is supported by NSF CAREER Award CNS-1664356, NASA ECF NNX16AR57G, NSF grants CCF-1319459, and NSFC grants 61572197 and 61632005. Geguang Pu is also partially supported by MOST NKTSP Project 2015BAG19B02 and STCSM Project No. 16DZ1100600. The experimental platform is supported by the Data Analysis and Visualization Cyberinfrastructure funded by NSF under grant OCI-0959097 and Rice University.

References

  1. 1.
  2. 2.
  3. 3.
  4. 4.
  5. 5.
  6. 6.
    Bernardini, A., Ecker, W., Schlichtmann, U.: Where formal verification can help in functional safety analysis. In: 2016 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pp. 1–8 (November 2016)Google Scholar
  7. 7.
    Berryhill, R., Ivrii, A., Veira, N., Veneris, A.: Learning support sets in IC3 and Quip: the good, the bad, and the ugly. In: Formal Methods in Computer Aided Design (FMCAD), pp. 140–147 (October 2017)Google Scholar
  8. 8.
    Biere, A., Cimatti, A., Clarke, E.M., Fujita, M., Zhu, Y.: Symbolic model checking using sat procedures instead of BDDs (1999).  https://doi.org/10.1145/309847.309942
  9. 9.
    Biere, A.: AIGER Format. http://fmv.jku.at/aiger/FORMAT
  10. 10.
    Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without BDDs. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 193–207. Springer, Heidelberg (1999).  https://doi.org/10.1007/3-540-49059-0_14CrossRefGoogle Scholar
  11. 11.
    Bradley, A.R., Manna, Z.: Checking safety by inductive generalization of counterexamples to induction. In: Formal Methods in Computer Aided Design (FMCAD 2007), pp. 173–180 (November 2007)Google Scholar
  12. 12.
    Bradley, A.R.: SAT-based model checking without unrolling. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 70–87. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-18275-4_7CrossRefGoogle Scholar
  13. 13.
    Brayton, R., Mishchenko, A.: ABC: an academic industrial-strength verification tool. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 24–40. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-14295-6_5CrossRefGoogle Scholar
  14. 14.
    Cabodi, G., Camurati, P.E., Mishchenko, A., Palena, M., Pasini, P.: Sat solver management strategies in IC3: an experimental approach. Formal Methods Syst. Des. 50(1), 39–74 (2017).  https://doi.org/10.1007/s10703-017-0272-0CrossRefzbMATHGoogle Scholar
  15. 15.
    Dowling, W., Gallier, J.: Linear-time algorithms for testing the satisfiability of propositional horn formulae. J. Logic Program. 1(3), 267–284 (1984)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Een, N., Mishchenko, A., Brayton, R.: Efficient implementation of property directed reachability. In: Proceedings of the International Conference on Formal Methods in Computer-Aided Design, FMCAD 2011, pp. 125–134. FMCAD Inc., Austin (2011). http://dl.acm.org/citation.cfm?id=2157654.2157675
  17. 17.
    Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-540-24605-3_37CrossRefGoogle Scholar
  18. 18.
    Golnari, A., Vizel, Y., Malik, S.: Error-tolerant processors: formal specification and verification. In: IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pp. 286–293 (November 2015)Google Scholar
  19. 19.
    Griggio, A., Roveri, M.: Comparing different variants of the IC3 algorithm for hardware model checking. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 35(6), 1026–1039 (2016)CrossRefGoogle Scholar
  20. 20.
    Hassan, Z., Bradley, A.R., Somenzi, F.: Better generalization in IC3. In: Formal Methods in Computer-Aided Design, pp. 157–164 (October 2013)Google Scholar
  21. 21.
    Ivrii, A., Gurfinkel, A.: Pushing to the top. In: Proceedings of the 15th Conference on Formal Methods in Computer-Aided Design, FMCAD 2015, pp. 65–72, FMCAD Inc., Austin (2015). http://dl.acm.org/citation.cfm?id=2893529.2893545
  22. 22.
    Jhala, R., Majumdar, R.: Software model checking. ACM Comput. Surv. 41(4), 21:1–21:54 (2009).  https://doi.org/10.1145/1592434.1592438CrossRefGoogle Scholar
  23. 23.
    Li, J., Dureja, R., Pu, G., Rozier, K.Y., Vardi, M.Y.: SimpleCAR: an efficient bug-finding tool based on approximate reachability. In: Chockler, H., Weissenbacher, G. (eds.) CAV 2018. LNCS, vol. 10982, pp. 37–44. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-96142-2_5CrossRefGoogle Scholar
  24. 24.
    Li, J., Zhu, S., Zhang, Y., Pu, G., Vardi, M.Y.: Safety model checking with complementary approximations. In: Proceedings of the 36th International Conference on Computer-Aided Design, ICCAD 2017, pp. 95–100. IEEE Press, Piscataway (2017). http://dl.acm.org/citation.cfm?id=3199700.3199713
  25. 25.
    McMillan, K.L.: Interpolation and SAT-based model checking. In: Hunt, W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 1–13. Springer, Heidelberg (2003).  https://doi.org/10.1007/978-3-540-45069-6_1CrossRefGoogle Scholar
  26. 26.
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient SAT solver. In: Proceedings of the 38th Design Automation Conference, pp. 530–535 (June 2001)Google Scholar
  27. 27.
    Vizel, Y., Gurfinkel, A.: Interpolating property directed reachability. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 260–276. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-08867-9_17CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Iowa State UniversityAmesUSA
  2. 2.East China Normal UniversityShanghaiChina
  3. 3.Rice UniversityHoustonUSA

Personalised recommendations