Advertisement

Exploiting partial variable assignment in interpolation-based model checking

  • Pavel Jančík
  • Jan KofroňEmail author
  • Leonardo Alt
  • Grigory Fedyukovich
  • Antti E. J. Hyvärinen
  • Natasha Sharygina
Article
  • 24 Downloads

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.

Keywords

Craig interpolant Refutation Heuristics Reduction Variable assignment 

Notes

References

  1. 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–172Google Scholar
  2. 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–55Google Scholar
  3. 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–678Google Scholar
  4. 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. 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–1422Google Scholar
  6. 6.
    Craig W (1957) Three uses of the Herbrand-Gentzen theorem in relating model theory and proof theory. J Symb Log 22(3):269–285MathSciNetCrossRefGoogle Scholar
  7. 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–145Google Scholar
  8. 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–75Google Scholar
  9. 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–307Google Scholar
  10. 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–271Google Scholar
  11. 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–553CrossRefGoogle Scholar
  12. 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–434CrossRefGoogle Scholar
  13. 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–130Google Scholar
  14. 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. SpringerGoogle Scholar
  15. 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–13Google Scholar
  16. 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–136Google Scholar
  17. 17.
    Pavel P (1997) Lower bounds for resolution and cutting plane proofs and monotone computations. J Symb Log 62(3):981–998MathSciNetCrossRefGoogle Scholar
  18. 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–196Google Scholar
  19. 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–693Google Scholar
  20. 20.
    Rollini SF, Bruttomesso R, Sharygina N, Tsitovich A (2014) resolution proof transformation for compression and interpolation. Form Methods Syst Des 45(1):1–41CrossRefGoogle Scholar
  21. 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–209Google Scholar
  22. 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–21Google Scholar
  23. 23.
  24. 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–121Google Scholar
  25. 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–207Google Scholar
  26. 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–175CrossRefGoogle Scholar
  27. 27.
    Tange O (2011) GNU parallel—the command-line power tool. USENIX Mag 36(1):42–47Google Scholar
  28. 28.
    Tonetta S (2009) Abstract model checking without computing the abstraction. Springer, Berlin, pp 89–105Google Scholar
  29. 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 BureauGoogle Scholar
  30. 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–8Google Scholar
  31. 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 CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Faculty of Mathematics and PhysicsCharles UniversityPragueCzech Republic
  2. 2.University of LuganoLuganoSwitzerland

Personalised recommendations