Automatic Control and Computer Sciences

, Volume 49, Issue 7, pp 413–419 | Cite as

Random model sampling: Making craig interpolation work when it should not

  • Marat Akhin
  • Sam Kolton
  • Vladimir Itsykson


One of the most serious problems when doing program analyses is dealing with function calls. While function inlining is the traditional approach to this problem, it nonetheless suffers from the increase in analysis complexity due to the state space explosion. Craig interpolation has been successfully used in recent years in the context of bounded model checking to do function summarization which allows one to replace the complete function body with its succinct summary and, therefore, reduce the complexity, but unfortunately this technique can be applied only to a pair of unsatisfiable formulae. In this work-in-progress paper we present an approach to function summarization based on Craig interpolation that overcomes its limitation by using random model sampling. It captures interesting input/output relations, strengthening satisfiable formulae into unsatisfiable ones and thus allowing the use of Craig interpolation. Evaluation results show the applicability of this approach; in our future work we plan to do a more extensive evaluation on real-world examples.


bounded model checking static program analysis Craig interpolation function summaries satisfiability modulo theories 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akhin, M., Belyaev, M., and Itsykson, V., Yet another defect detection: Combining bounded model checking and code contracts, PSSV’13, 2013, p. 1–11.Google Scholar
  2. 2.
    Biere, A., Cimatti, A., Clarke, E.M., and Zhu Yunshan, Symbolic model checking without BDDs, TACAS’99, 1999, p. 193–207.Google Scholar
  3. 3.
    Christ, J., Hoenicke, J., and Nutz, A., SMTInterpol: An interpolating SMT solver, SPIN’12, 2012, pp. 248–254.Google Scholar
  4. 4.
    Cimatti, A., Griggio, A., Schaafsma, B.J., and Sebastiani, R., The MathSAT5 SMT solver, TACAS’13, 2013, p. 93–107.Google Scholar
  5. 5.
    Clarke, C., Grumberg, O., Jha, S., Lu., Yu., and Veith, H., Counterexample-guided abstraction refinement for symbolic model checking, J. ACM, 2003, no. 50(5), pp. 752–794.CrossRefMathSciNetGoogle Scholar
  6. 6.
    Craig, W., Three uses of the Herbrand-Gentzen theorem in relating model theory and proof theory, J. Symbol. Logic., 1957, no. 22(3), pp. 269–285.CrossRefMathSciNetzbMATHGoogle Scholar
  7. 7.
    Dillig, I., Dillig, Th., Li, B., and McMillan, K., Inductive invariant generation via abductive inference, OOPSLA’13, New York, 2013, p. 443–456.Google Scholar
  8. 8.
    Ivančić, F. and Sankaranarayanan, S., NECLA Static Analysis Benchmarks. research/system/systems_ SAV-website/benchmarks.phpGoogle Scholar
  9. 9.
    Li, B., Dillig, I., Dillig, Th., McMillan, K., and Sagiv, M., Synthesis of circular compositional program proofs via abduction, TACAS’13, 2013, p. 370–384.Google Scholar
  10. 10.
    McMillan, K.L., Applications of Craig interpolants in model checking, TACAS’05, 2005, p. 1–12.Google Scholar
  11. 11.
    McMillan, K.L., Lazy abstraction with interpolants, CAV’06, 2006, p. 123–136.Google Scholar
  12. 12.
    McMillan, K.L., Interpolants from Z3 proofs, FMCAD’11, 2011, p. 19–27.Google Scholar
  13. 13.
    Sery, O., Fedyukovich, G., and Sharygina, N., Interpolation-based function summaries in bounded model checking, HVC’11, 2012, p. 160–175.Google Scholar

Copyright information

© Allerton Press, Inc. 2015

Authors and Affiliations

  1. 1.Saint-Petersburg Polytechnic UniversitySaint-PetersburgRussia

Personalised recommendations