Skip to main content
Log in

Interpolation with guided refinement: revisiting incrementality in SAT-based unbounded model checking

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

This paper addresses model checking based on SAT solvers and Craig interpolants. We tackle major scalability problems of state-of-the-art interpolation-based approaches, and we achieve two main results: (1) A novel model checking algorithm; (2) A new and flexible way to handle an incremental representation of (over-approximated) forward reachable states. The new model checking algorithm IGR, Interpolation with Guided Refinement, partially takes inspiration from IC3 and interpolation sequences. It bases its robustness and scalability on incremental refinement of state sets, and guided unwinding/simplification of transition relation unrollings. State sets, the central data structure of our algorithm, are incrementally refined, and they represent a valuable information to be shared among related problems, either in concurrent or sequential (multiple-engine or multiple-property) execution schemes. We provide experimental data, showing that IGR extends the capability of a state-of-the-art model checker, with a specific focus on hard-to-prove properties.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. We use the notation \({\mathbf {F}}_{\mathbf {i}}\) instead of \(F_i\) to refer to a frame of \({\mathbf {F}}_{\mathbf {k}}\) that does not exists yet and that is being initialized for the first time.

  2. Following [8], we heuristically increment cone bounds by more than 1, based on the depth of the previous ApproxFwdTrav run.

References

  1. Cabodi G, Palena M, Pasini P (2014) Interpolation with guided refinement: Revisiting incrementality in sat-based unbounded model checking, In: Proceedings of the 14th conference on formal methods in computer-aided design, ser. FMCAD ’14. Austin, TX: FMCAD Inc, pp. 12:43–12:50. [Online]. Available: http://dl.acm.org/citation.cfm?id=2682923.2682938

  2. Craig W (1957) Three uses of the Herbrand-Gentzen theorem in relating model theory and proof theory. J Symbol Logic 22(3):269–285

    Article  MathSciNet  MATH  Google Scholar 

  3. Lyndon RC (1959) An interpolation theorem in the predicate calculus. Pacific J Math 9(1):155–164

    Article  MathSciNet  MATH  Google Scholar 

  4. McMillan KL (2003) Interpolation and SAT-based model checking, In: Proceedings computer aided verification, ser. LNCS, vol. 2725. Boulder, CO, USA: Springer, pp. 1–13

  5. Bradley AR (2011) Sat-based model checking without unrolling, In: VMCAI, Austin, Texas, Jan. 2011, pp. 70–87

  6. Biere A, Jussila T The model checking competition web page, http://fmv.jku.at/hwmcc

  7. McMillan KL, Jhala R (2005) Interpolation and SAT-based model checking, In: Proceedings computer aided verification, ser. LNCS, vol. 3725. Edinburgh, Scotland, UK: Springer, pp. 39–51

  8. Marques-Silva J (2005) Improvements to the implementation of Interpolant–based model checking, In: Proceedings correct hardware design and verification methods, ser. LNCS, vol. 3725. Edinburgh, Scotland, UK: Springer, pp. 367–370

  9. D’Silva V, Purandare M, Kroening D (2008) Approximation refinement for interpolation-based model checking, in verification, model checking and abstract interpretation, ser. Lecture Notes in Computer Science, vol. 4905. Springer, pp. 68–82

  10. Cabodi G, Murciano M, Nocco S, Quer S (2008) Boosting interpolation with dynamic localized abstraction and redundancy removal. ACM Trans Design Autom Electr Syst 13(1):309–340

    Google Scholar 

  11. Cabodi G, Camurati P, Murciano M (2008) Automated abstraction by incremental refinement in interpolant-based model checking, In: Proceedings international conference on computer-aided design. San Jose, California: ACM Press, Nov. pp. 129–136

  12. D’Silva V, Kroening D, Purandare M, Weissenbacher G (2010) Interpolant strength. In: Proceedings of the 11th international conference on verification, model checking, and abstract interpretation, ser. VMCAI’10. Berlin, Heidelberg: Springer-Verlag, p. 129–145. [Online]. Available: https://doi.org/10.1007/978-3-642-11319-2_12

  13. Li B, Somenzi F (2006) Efficient abstraction refinement in interpolation-based unbounded model checking, In: Tools and algorithms for the construction and analysis of systems, vol. 3920, pp. 227–241

  14. Cabodi G, Loiacono C, Vendraminetto D (2013) Optimization techniques for Craig interpolant compaction in unbounded model checking, In: Proceedings design automation & test in Europe conference Grenoble, France: IEEE Computer Society, Mar. pp. 1417–1422

  15. Cabodi G, Loiacono C, Vendraminetto D (2015) Optimization techniques for Craig interpolant compaction in unbounded model checking. Form Methods Syst Des 46(2):135–162. https://doi.org/10.1007/s10703-015-0229-0

    Article  MATH  Google Scholar 

  16. Cabodi G, Camurati PE, Palena M, Pasini P, Vendraminetto D (2016) Reducing interpolant circuit size by ad-hoc logic synthesis and sat-based weakening. In: Proceedings of the 16th conference on formal methods in computer-aided design, ser. FMCAD ’16. Austin, TX: FMCAD Inc, pp. 25–32. [Online]. Available: http://dl.acm.org/citation.cfm?id=3077629.3077640

  17. Goldberg E, Güdemann M, Kroening D, Mukherjee R (2018) Efficient verification of multi-property designs (the benefit of wrong assumptions), In: 2018 Design, automation test in Europe Conference Exhibition (DATE), pp. 43–48

  18. Clarke EM, Grumberg O, Jha S, Lu Y, Veith H (2000) Counterexample-guided abstraction refinement, In: CAV, pp. 154–169

  19. Gupta A, Ganai M, Yang Z, Ashar P (2003) Iterative abstraction using SAT-based BMC with proof analysis, In: Proceedings international conference on computer-aided design, San Jose, California, Nov. pp. 416–423

  20. Moskewicz M, Madigan C, Zhao Y, Zhang L, Malik S (2001) Chaff: Engineering an efficient SAT solver, In: Proceedings 38th design automation Conference Las Vegas, Nevada: IEEE Computer Society, Jun

  21. Eén N, Sörensson N (2009) The Minisat SAT solver, http://minisat.se, Apr

  22. Biere A, Cimatti A, Clarke EM, Fujita M, Zhu Y (1999) Symbolic model checking using SAT procedures instead of BDDs, In: Proceedings 36th design automation conference. New Orleans, Louisiana: IEEE Computer Society, Jun. pp. 317–320

  23. Vizel Y, Grumberg O (2009) Interpolation-sequence based model checking. In: Proceedings formal methods in computer-aided design, ser. LNCS, vol. 2517. Austin, Texas, USA: Springer, Nov. pp. 1–8

  24. Cabodi G, Nocco S, Quer S (2011) Interpolation sequences revisited. In: Proceedings design automation & test in Europe conference Grenoble, France: IEEE Computer Society, Mar. pp. 316–322

  25. Vizel Y, Grumberg O, Shoham S (2013) Intertwined forward-backward reachability analysis using interpolants, In: Tools and algorithms for the construction and analysis of systems, ser. LNCS, vol. 7795. Rome, Italy: Springer, Mar. pp. 308–323

  26. Mishchenko A, Brayton RK (2005) SAT-Based complete Don’t-Care computation for network optimization, In: Proceedings design automation & test in Europe conferenece, pp. 412–417

  27. Clarke E, Grumberg O, Jha S, Lu Y, Veith H (2003) Counterexample-guided abstraction refinement for symbolic model checking. J ACM 50(5):752–794. https://doi.org/10.1145/876638.876643

    Article  MathSciNet  MATH  Google Scholar 

  28. Gupta A, Strichman O (2005) Abstraction refinement for bounded model checking. Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 112–124. [Online]. Available: https://doi.org/10.1007/11513988_11

  29. Vizel Y, Grumberg SSO (2012) , Lazy abstraction and SAT-Based reachability in hardware model checking, In: Proceedings formal methods in computer-aided design. Cambridge, UK: IEEE, Oct. pp. 173–181

  30. Cabodi G, Nocco S, Quer S (2011) Benchmarking a model checker for algorithmic improvements and tuning for performance. Formal Methods Syst Design 39(2):205–227

    Article  MATH  Google Scholar 

  31. Subramanyan P, Vizel Y, Ray S, Malik S (2015) Template-based synthesis of instruction-level abstractions for SOC verification, In: 2015 Formal methods in computer-aided design (FMCAD), pp. 160–167

  32. Baumgartner J, Aziz A (2003) An abstraction algorithm for the verification of level-sensitive latch-based netlists, Formal Methods in System Design, vol. 23, pp. 39–65, 07

  33. Cabodi G, Camurati P, Palena M, Pasini P” (2021) , Igr - experiments, https://github.com/P3900/igr-exp

  34. Vizel Y, Gurfinkel A (2014) Interpolating property directed reachability, In: Proceedings of the 16th international conference on computer aided verification - Vol. 8559. New York, NY, USA: Springer-Verlag New York, Inc., pp. 260–276. [Online]. Available: https://doi.org/10.1007/978-3-319-08867-9_17

  35. Mishchenko A, Brayton R, Jiang J-HR, Jang S (2011) Scalable don’t-care-based logic optimization and resynthesis. ACM Trans Reconfigurable Technol Syst 4(4):1–23. https://doi.org/10.1145/2068716.2068720

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to M. Palena.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

A preliminary version [1] of this paper was presented at FMCAD2014 http://www.cs.utexas.edu/users/hunt/FMCAD/FMCAD14/index.shtml/.

This work was supported in part by SRC contract 2012-TJ-2328.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Cabodi, G., Camurati, P.E., Palena, M. et al. Interpolation with guided refinement: revisiting incrementality in SAT-based unbounded model checking. Form Methods Syst Des 60, 117–146 (2022). https://doi.org/10.1007/s10703-022-00406-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-022-00406-7

Keywords

Navigation