Random model sampling: Making craig interpolation work when it should not
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.
Keywordsbounded model checking static program analysis Craig interpolation function summaries satisfiability modulo theories
Unable to display preview. Download preview PDF.
- 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.Biere, A., Cimatti, A., Clarke, E.M., and Zhu Yunshan, Symbolic model checking without BDDs, TACAS’99, 1999, p. 193–207.Google Scholar
- 3.Christ, J., Hoenicke, J., and Nutz, A., SMTInterpol: An interpolating SMT solver, SPIN’12, 2012, pp. 248–254.Google Scholar
- 4.Cimatti, A., Griggio, A., Schaafsma, B.J., and Sebastiani, R., The MathSAT5 SMT solver, TACAS’13, 2013, p. 93–107.Google Scholar
- 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.Ivančić, F. and Sankaranarayanan, S., NECLA Static Analysis Benchmarks. http://www.nec-labs.com/ research/system/systems_ SAV-website/benchmarks.phpGoogle Scholar
- 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.McMillan, K.L., Applications of Craig interpolants in model checking, TACAS’05, 2005, p. 1–12.Google Scholar
- 11.McMillan, K.L., Lazy abstraction with interpolants, CAV’06, 2006, p. 123–136.Google Scholar
- 12.McMillan, K.L., Interpolants from Z3 proofs, FMCAD’11, 2011, p. 19–27.Google Scholar
- 13.Sery, O., Fedyukovich, G., and Sharygina, N., Interpolation-based function summaries in bounded model checking, HVC’11, 2012, p. 160–175.Google Scholar