skip to main content
10.5555/2958031.2958101guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Disjunctive Interpolants for Horn-Clause Verification

Published: 13 July 2013 Publication History

Abstract

One of the main challenges in software verification is efficient and precise compositional analysis of programs with procedures and loops. Interpolation methods remains one of the most promising techniques for such verification, and are closely related to solving Horn clause constraints. We introduce a new notion of interpolation, disjunctive interpolation, which solves a more general class of problems in one step compared to previous notions of interpolants, such as tree interpolants or inductive sequences of interpolants. We present algorithms and complexity for construction of disjunctive interpolants, as well as their use within an abstraction-refinement loop. We have implemented Horn clause verification algorithms that use disjunctive interpolants and evaluate them on benchmarks expressed as Horn clauses over the theory of integer linear arithmetic.

References

[1]
Albarghouthi, A., Gurfinkel, A., Chechik, M.: Craig interpretation. In: Miné, A., Schmidt, D. eds. SAS 2012. LNCS, vol. 7460, pp. 300---316. Springer, Heidelberg 2012
[2]
Albarghouthi, A., Gurfinkel, A., Chechik, M.: whale: An interpolation-based algorithm for inter-procedural verification. In: Kuncak, V., Rybalchenko, A. eds. VMCAI 2012. LNCS, vol. 7148, pp. 39---55. Springer, Heidelberg 2012
[3]
Ball, T., Podelski, A., Rajamani, S.K.: Relative completeness of abstraction refinement for software model checking. In: Katoen, J.-P., Stevens, P. eds. TACAS 2002. LNCS, vol. 2280, pp. 158---172. Springer, Heidelberg 2002
[4]
Brillout, A., Kroening, D., Rümmer, P., Wahl, T.: An interpolating sequent calculus for quantifier-free Presburger arithmetic. Journal of Automated Reasoning 47, 341---367 2011
[5]
Cimatti, A., Griggio, A., Sebastiani, R.: Efficient generation of Craig interpolants in satisfiability modulo theories. ACM Trans. Comput. Log. 121, 7 2010
[6]
Craig, W.: Linear reasoning. A new form of the Herbrand-Gentzen theorem. The Journal of Symbolic Logic 223, 250---268 1957
[7]
Ganty, P., Majumdar, R.: Algorithmic verification of asynchronous programs. CoRR, abs/1011.0551 2010
[8]
Graf, S., Saidi, H.: Construction of abstract state graphs with PVS. In: Grumberg, O. ed. CAV 1997. LNCS, vol. 1254, pp. 72---83. Springer, Heidelberg 1997
[9]
Grebenshchikov, S., Lopes, N.P., Popeea, C., Rybalchenko, A.: Synthesizing software verifiers from proof rules. In: PLDI 2012
[10]
Gupta, A., Popeea, C., Rybalchenko, A.: Predicate abstraction and refinement for verifying multi-threaded programs. In: POPL 2011
[11]
Gupta, A., Popeea, C., Rybalchenko, A.: Solving recursion-free horn clauses over LI+UIF. In: Yang, H. ed. APLAS 2011. LNCS, vol. 7078, pp. 188---203. Springer, Heidelberg 2011
[12]
Heizmann, M., Hoenicke, J., Podelski, A.: Nested interpolants. In: POPL 2010
[13]
Henzinger, T.A., Jhala, R., Majumdar, R., McMillan, K.L.: Abstractions from proofs. In: POPL, pp. 232---244. ACM 2004
[14]
Hoder, K., BjØrner, N.: Generalized property directed reachability. In: Cimatti, A., Sebastiani, R. eds. SAT 2012. LNCS, vol. 7317, pp. 157---171. Springer, Heidelberg 2012
[15]
Hojjat, H., Iosif, R., Koneă ný, F., Kuncak, V., Rümmer, P.: Accelerating interpolants. In: Chakraborty, S., Mukund, M. eds. ATVA 2012. LNCS, vol. 7561, pp. 187---202. Springer, Heidelberg 2012
[16]
Hojjat, H., Koneă ný, F., Garnier, F., Iosif, R., Kuncak, V., Rümmer, P.: A verification toolkit for numerical transition systems tool paper. In: Giannakopoulou, D., Méry, D. eds. FM 2012. LNCS, vol. 7436, pp. 247---251. Springer, Heidelberg 2012
[17]
Jhala, R., Majumdar, R., Rybalchenko, A.: HMC: Verifying functional programs using abstract interpreters. In: Gopalakrishnan, G., Qadeer, S. eds. CAV 2011. LNCS, vol. 6806, pp. 470---485. Springer, Heidelberg 2011
[18]
Lal, A., Qadeer, S., Lahiri, S.K.: A solver for reachability modulo theories. In: Madhusudan, P., Seshia, S.A. eds. CAV 2012. LNCS, vol. 7358, pp. 427---443. Springer, Heidelberg 2012
[19]
McMillan, K.L.: Interpolation and SAT-based model checking. In: Hunt Jr., W.A., Somenzi, F. eds. CAV 2003. LNCS, vol. 2725, pp. 1---13. Springer, Heidelberg 2003
[20]
McMillan, K.L.: Lazy abstraction with interpolants. In: Ball, T., Jones, R.B. eds. CAV 2006. LNCS, vol. 4144, pp. 123---136. Springer, Heidelberg 2006
[21]
McMillan, K.L., Rybalchenko, A.: Solving constrained Horn clauses using interpolation. Technical Report MSR-TR-2013-6, Microsoft Research January 2013
[22]
Méndez-Lojo, M., Navas, J., Hermenegildo, M.V.: A flexible CLP-based approach to the analysis of object-oriented programs. In: King, A. ed. LOPSTR 2007. LNCS, vol. 4915, pp. 154---168. Springer, Heidelberg 2008
[23]
Peralta, J.C., Gallagher, J.P., Saglam, H.: Analysis of imperative programs through analysis of constraint logic programs. In: Levi, G. ed. SAS 1998. LNCS, vol. 1503, pp. 246---261. Springer, Heidelberg 1998
[24]
Rümmer, P., Hojjat, H., Kuncak, V.: Classifying and solving horn clauses for verification. In: VSTTE 2013
[25]
Rümmer, P., Hojjat, H., Kuncak, V.: Disjunctive interpolants for horn-clause verification extended technical report. CoRR, abs/1301.4973 2013
[26]
Sery, O., Fedyukovich, G., Sharygina, N.: Interpolation-based function summaries in bounded model checking. In: Eder, K., Lourenço, J., Shehory, O. eds. HVC 2011. LNCS, vol. 7261, pp. 160---175. Springer, Heidelberg 2012
[27]
Terauchi, T.: Dependent types from counterexamples. In: Hermenegildo, M.V., Palsberg, J. eds. POPL, pp. 119---130. ACM 2010
[28]
Unno, H., Terauchi, T., Kobayashi, N.: Automating relatively complete verification of higher-order functional programs. In: POPL 2013

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
CAV 2013: Proceedings of the 25th International Conference on Computer Aided Verification - Volume 8044
July 2013
1012 pages
ISBN:9783642397981

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 13 July 2013

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Sep 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media