Skip to main content
Log in

Exploiting partial variable assignment in interpolation-based model checking

Formal Methods in System Design Aims and scope Submit manuscript

Abstract

Craig interpolation has been successfully employed in symbolic program verification as a means of abstraction for sets of program states. In this article, we present the partial variable assignment interpolation system, an extension of the labeled interpolation system, enriched by partial variable assignments. It allows for both generation of smaller interpolants as well as for their faster computation. We present proofs of important properties of the interpolation system as well as a set of experiments proving its usefulness.

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
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Notes

  1. Our intuition leads us to the conclusion that the path interpolation property cannot be guaranteed in a general case of different assignments, but we have no counterexample demonstrating it.

  2. Note that the implementation of PVAIR does not involve any parallel computation—this is planned as future work.

References

  1. Albarghouthi A, Gurfinkel A, Chechik M (2012) From under-approximations to over-approximations and back. In: Flanagan C, König B (eds) Tools and algorithms for the construction and analysis of systems—18th international conference, TACAS 2012, held as part of the European joint conferences on theory and practice of software, ETAPS 2012, Tallinn, Estonia, Mar 24–Apr 1, 2012. Proceedings, volume 7214 of Lecture notes in computer science. Springer, pp 157–172

    Chapter  Google Scholar 

  2. Albarghouthi A, Gurfinkel A, Chechik M (2012) Whale: an interpolation-based algorithm for inter-procedural verification. In: Kuncak V, Rybalchenko A (eds) Verification, model checking, and abstract interpretation—13th international conference, VMCAI 2012, Philadelphia, PA, USA, 22–24 Jan 2012. Proceedings, volume 7148 of Lecture notes in computer science. Springer, pp 39–55

  3. Albarghouthi A, Li Y, Gurfinkel A, Chechik M (2012) UFO: a framework for abstraction- and interpolation-based software verification. In: Madhusudan P and Seshia SA (Eds) Computer aided verification—24th international conference, CAV 2012, Berkeley, CA, USA, 7–13 July 2012, proceedings, volume 7358 of Lecture notes in computer science. Springer, pp 672–678

  4. Barrett C, Stump A, Tinelli C (2010) The SMT-LIB standard: version 2.0. Technical report, Department of Computer Science, The University of Iowa. http://www.SMT-LIB.org

  5. Cabodi G, Loiacono C, Vendraminetto D (2013) Optimization techniques for Craig interpolant compaction in unbounded model checking. In: Enrico M (ed) Design. Automation and test in Europe, DATE 13, Grenoble, France, 18–22 Mar 2013. EDA Consortium San Jose, CA, USA/ACM DL, pp 1417–1422

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

    Article  MathSciNet  Google Scholar 

  7. D’Silva V, Kroening D, Purandare M, Weissenbacher G (2010) Interpolant strength. In: Barthe G, Hermenegildo MV (eds) Verification, model checking, and abstract interpretation, 11th international conference, VMCAI 2010, Madrid, Spain, 17–19 Jan 2010. Proceedings, volume 5944 of Lecture notes in computer science. Springer, pp 129–145

  8. Eén N, Biere A (2005) Effective preprocessing in SAT through variable and clause elimination. In: Bacchus F, Walsh T (eds) Theory and applications of satisfiability testing, 8th international conference, SAT 2005, St. Andrews, UK, 19–23 June 2005. Proceedings, volume 3569 of Lecture notes in computer science. Springer, pp 61–75

  9. Fedyukovich G, Sery O, Sharygina N (2013) eVolCheck: incremental upgrade checker for C. In: Piterman N, Smolka SA (eds) Tools and algorithms for the construction and analysis of systems—19th international conference, TACAS 2013, held as part of the European joint conferences on theory and practice of software, ETAPS 2013, Rome, Italy, 16–24 Mar 2013. Proceedings, volume 7795 of Lecture notes in computer science. Springer, pp 292–307

  10. Gurfinkel A, Rollini SF, Sharygina N (2013) Interpolation properties and SAT-based model checking. In: Van Hung D, Ogawa M (eds) Automated technology for verification and analysis—11th international symposium, ATVA 2013, Hanoi, Vietnam, 15–18 Oct 2013. Proceedings, volume 8172 of Lecture notes in computer science. Springer, pp 255–271

  11. Hyvärinen AEJ, Marescotti M, Alt L, Sharygina N (2016) OpenSMT2: an SMT solver for multi-core and cloud computing. In: Creignou N, Le Berre D (eds) Theory and applications of satisfiability testing—SAT 2016: 19th international conference, Bordeaux, France, 5–8 July 2016, Proceedings. Springer, Cham, pp 547–553

    Chapter  Google Scholar 

  12. Jančík P, Alt L, Fedyukovich G, Hyvärinen AEJ, Kofroň J, Sharygina N (2016) PVAIR: Partial Variable Assignment InterpolatoR. In: Fundamental approaches to software engineering (FASE) 2016, LNCS 9633. Springer, Berlin, Heidelberg, pp 419–434

    Chapter  Google Scholar 

  13. Jančík P, Kofroň J, Rollini SF, Sharygina N (2014) On interpolants and variable assignments. In: Formal methods in computer-aided design, FMCAD 2014, Lausanne, Switzerland, 21–24 Oct 2014. IEEE, pp 123–130

  14. Madhusudan P, Seshia SA (eds) (2012) Computer aided verification—24th international conference, CAV 2012, Berkeley, CA, USA, 7–13 July 2012. Proceedings, volume 7358 of Lecture notes in computer science. Springer

  15. McMillan KL (2003) Interpolation and SAT-based model checking. In: Hunt WA Jr, Somenzi F (eds) Computer aided verification, 15th international conference, CAV 2003, Boulder, CO, USA, 8–12 July 2003, proceedings, volume 2725 of Lecture notes in computer science. Springer, pp 1–13

  16. McMillan KL (2006) Lazy abstraction with interpolants. In: Ball T, Jones RB (eds) Computer aided verification, 18th international conference, CAV 2006, Seattle, WA, USA, 17–20 Aug 2006, proceedings, volume 4144 of Lecture notes in computer science. Springer, pp 123–136

  17. Pavel P (1997) Lower bounds for resolution and cutting plane proofs and monotone computations. J Symb Log 62(3):981–998

    Article  MathSciNet  Google Scholar 

  18. Rollini S, Bruttomesso R, Sharygina N (2010) An efficient and flexible approach to resolution proof reduction. In: Barner S, Harris IG, Kroening D, Raz O (eds) Hardware and software: verification and testing—6th international Haifa verification conference, HVC 2010, Haifa, Israel, 4–7 Oct 2010. Revised selected papers, volume 6504 of Lecture notes in computer science. Springer, pp 182–196

  19. Rollini SF, Alt L, Fedyukovich G, Hyvärinen AEJ, Sharygina N (2013) PeRIPLO: a framework for producing effective interpolants in SAT-based software verification. In: McMillan KL, Middeldorp A, Voronkov A (eds) Logic for programming, artificial intelligence, and reasoning—19th international conference, LPAR-19, Stellenbosch, South Africa, 14–19 Dec 2013. Proceedings, volume 8312 of Lecture notes in computer science. Springer, pp 683–693

  20. Rollini SF, Bruttomesso R, Sharygina N, Tsitovich A (2014) resolution proof transformation for compression and interpolation. Form Methods Syst Des 45(1):1–41

    Article  Google Scholar 

  21. Rollini SF, Sery O, Sharygina N (2012) Leveraging interpolant strength in model checking. In: Madhusudan P, Seshia SA (eds) Computer aided verification—24th international conference, CAV 2012, Berkeley, CA, USA, 7–13 July 2012, proceedings, volume 7358 of Lecture notes in computer science. Springer, pp 193–209

  22. Rümmer P, Hojjat H, Kuncak V (2014) Classifying and solving horn clauses for verification. In: Cohen E, Rybalchenko A (eds) Verified software: theories, tools, experiments: 5th international conference, VSTTE 2013, Menlo Park, CA, USA, 17–19 May 2013, revised selected papers. Springer, Berlin, pp 1–21

  23. SAT competition. http://www.satcompetition.org/

  24. Sery O, Fedyukovich G, Sharygina N (2012) Incremental upgrade checking by means of interpolation-based function summaries. In: 2012 formal methods in computer-aided design (FMCAD), pp 114–121

  25. Sery O, Fedyukovich G, Sharygina N (2012) FunFrog: bounded model checking with interpolation-based function summarization. In: Chakraborty S, Mukund M (eds) Automated technology for verification and analysis—10th international symposium, ATVA 2012, Thiruvananthapuram, India, 3–6 Oct 2012. Proceedings, volume 7561 of Lecture notes in computer science. Springer, pp 203–207

  26. Sery O, Fedyukovich G, Sharygina N (2012) Interpolation-based function summaries in bounded model checking. In: Eder K, Lourenço J, Shehory O (eds) Hardware and software: verification and testing: 7th international Haifa verification conference, HVC 2011, Haifa, Israel, 6–8 Dec 2011, revised selected papers. Springer Berlin, pp 160–175

    Chapter  Google Scholar 

  27. Tange O (2011) GNU parallel—the command-line power tool. USENIX Mag 36(1):42–47

    Google Scholar 

  28. Tonetta S (2009) Abstract model checking without computing the abstraction. Springer, Berlin, pp 89–105

    Google Scholar 

  29. Tseitin GS (1969) On the complexity of derivation in propositional calculus. In: Studies in constructive mathematics and mathematical logic, part II, volume 8 of seminars in mathematics, V. A. Steklov Mathematical Institute, Leningrad. Consultants Bureau

  30. Vizel Y, Grumberg O (2009) Interpolation-sequence based model checking. In: Proceedings of 9th international conference on formal methods in computer-aided design, FMCAD 2009, 15–18 Nov 2009, Austin, Texas, USA. IEEE, pp 1–8

  31. Vizel Y, Gurfinkel A, Malik S (2015) Fast interpolating BMC. In: Kroening D, Păsăreanu CS (eds) Computer aided verification, number 9206 in Lecture notes in computer science. Springer, pp 641–657. https://doi.org/10.1007/978-3-319-21690-4_43

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jan Kofroň.

Additional information

Publisher's Note

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

This work was partially supported by the Czech Science Foundation Project Number 18-17403S and by the Swiss National Science Foundation (SNSF) grant 200020_166288.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jančík, P., Kofroň, J., Alt, L. et al. Exploiting partial variable assignment in interpolation-based model checking. Form Methods Syst Des 55, 33–71 (2019). https://doi.org/10.1007/s10703-019-00342-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-019-00342-z

Keywords

Navigation