Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-540-93900-9_13guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Constraint-Based Invariant Inference over Predicate Abstraction

Published: 16 December 2008 Publication History

Abstract

This paper describes a constraint-based invariant generation technique for proving the validity of safety assertions over the domain of predicate abstraction in an interprocedural setting. The key idea of the technique is to represent each invariant in bounded DNF form by means of boolean indicator variables, one for each predicate <em>p</em> and each disjunct <em>d</em> denoting whether <em>p</em> is present in <em>d</em> or not. The verification condition of the program is then encoded by means of a boolean formula over these boolean indicator variables such that any satisfying assignment to the formula yields the inductive invariants for proving the validity of given program assertions.
This paper also describes how to use the constraint-based methodology for generating maximally-weak preconditions for safety assertions. An interesting application of maximally-weak precondition generation is to produce maximally-general counterexamples for safety assertions. We also present preliminary experimental evidence demonstrating the feasibility of this technique.

References

[1]
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)
[2]
Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by constr. or approx. of fixpoints. In: POPL, pp. 238-252 (1977)
[3]
Colón, M., Uribe, T.E.: Generating finite-state abstractions of reactive systems using decision procedures. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 293-304. Springer, Heidelberg (1998)
[4]
Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 154-169. Springer, Heidelberg (2000)
[5]
McMillan, K.L.: Appl. of craig interpolants in model checking. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 1-12. Springer, Heidelberg (2005)
[6]
Cousot, P., Ganty, P., Raskin, J.F.: Fixpoint-guided abstraction refinements. In: Riis Nielson, H., Filé, G. (eds.) SAS 2007. LNCS, vol. 4634, pp. 333-348. Springer, Heidelberg (2007)
[7]
Technical Report MSR-TR-2008-163, Microsoft Research (2008)
[8]
Gulavani, B.S., Rajamani, S.K.: Counterexample driven refinement for abstract interpretation. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 474-488. Springer, Heidelberg (2006)
[9]
Sankaranarayanan, S., Ivan?cić, F., Shlyakhter, I., Gupta, A.: Static analysis in disjunctive numerical domains. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, pp. 3-17. Springer, Heidelberg (2006)
[10]
Gulwani, S., Jojic, N.: Program verification as prob. inference. In: POPL (2007)
[11]
de Moura, L.M., Bjørner, N.: Eff. E-Matching for SMT solvers. In: Pfenning, F. (ed.) CADE 2007. LNCS, vol. 4603, pp. 183-198. Springer, Heidelberg (2007)
[12]
Colón, M., Sankaranarayanan, S., Sipma, H.: Linear invariant generation using non-linear constraint solving. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 420-432. Springer, Heidelberg (2003)
[13]
Sankaranarayanan, S., Sipma, H.B., Manna, Z.: Constraint-based linear-relations analysis. In: Giacobazzi, R. (ed.) SAS 2004. LNCS, vol. 3148, pp. 53-68. Springer, Heidelberg (2004)
[14]
Sankaranarayanan, S., Sipma, H., Manna, Z.: Non-linear loop invariant generation using gröbner bases. In: POPL, pp. 318-329 (2004)
[15]
Sankaranarayanan, S., Sipma, H.B., Manna, Z.: Scalable analysis of linear systems using mathematical programming. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 25-41. Springer, Heidelberg (2005)
[16]
Gulwani, S., Srivastava, S., Venkatesan, R.: Program analysis as constraint solving. In: PLDI, pp. 281-292 (2008)
[17]
Podelski, A., Rybalchenko, A.: A complete method for the synthesis of linear ranking functions. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 239-251. Springer, Heidelberg (2004)
[18]
Bradley, A.R., Manna, Z., Sipma, H.B.: Lin. ranking with reach. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 491-504. Springer, Heidelberg (2005)
[19]
Kapur, D.: Automatically generating loop invariants using quantifier elimination. In: Deduction and Applications (2005)
[20]
Beyer, D., Henzinger, T., Majumdar, R., Rybalchenko, A.: Invariant synthesis for combined theories. In: Cook, B., Podelski, A. (eds.) VMCAI 2007. LNCS, vol. 4349, pp. 378-394. Springer, Heidelberg (2007)
[21]
Xie, Y., Aiken, A.: Saturn: A sat-based tool for bug det. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 139-143. Springer, Heidelberg (2005)

Cited By

View all
  • (2022)Scalable linear invariant generation with Farkas’ lemmaProceedings of the ACM on Programming Languages10.1145/35632956:OOPSLA2(204-232)Online publication date: 31-Oct-2022
  • (2017)FiB: squeezing loop invariants by interpolation between Forward/Backward predicate transformersProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering10.5555/3155562.3155661(793-803)Online publication date: 30-Oct-2017
  • (2017)Automatic loop-invariant generation and refinement through selective samplingProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering10.5555/3155562.3155660(782-792)Online publication date: 30-Oct-2017
  • Show More Cited By
  1. Constraint-Based Invariant Inference over Predicate Abstraction

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    VMCAI '09: Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
    December 2008
    380 pages
    ISBN:9783540938996
    • Editors:
    • Neil D. Jones,
    • Markus Müller-Olm

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 16 December 2008

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 01 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Scalable linear invariant generation with Farkas’ lemmaProceedings of the ACM on Programming Languages10.1145/35632956:OOPSLA2(204-232)Online publication date: 31-Oct-2022
    • (2017)FiB: squeezing loop invariants by interpolation between Forward/Backward predicate transformersProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering10.5555/3155562.3155661(793-803)Online publication date: 30-Oct-2017
    • (2017)Automatic loop-invariant generation and refinement through selective samplingProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering10.5555/3155562.3155660(782-792)Online publication date: 30-Oct-2017
    • (2016)From invariant checking to invariant inference using randomized searchFormal Methods in System Design10.1007/s10703-016-0248-548:3(235-256)Online publication date: 1-Jun-2016
    • (2016)Automatic equivalence checking of programs with uninterpreted functions and integer arithmeticInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-015-0366-118:4(359-374)Online publication date: 1-Aug-2016
    • (2014)Weakest Precondition Synthesis for Compiler OptimizationsProceedings of the 15th International Conference on Verification, Model Checking, and Abstract Interpretation - Volume 831810.1007/978-3-642-54013-4_12(203-221)Online publication date: 19-Jan-2014
    • (2014)From Invariant Checking to Invariant Inference Using Randomized SearchProceedings of the 16th International Conference on Computer Aided Verification - Volume 855910.1007/978-3-319-08867-9_6(88-105)Online publication date: 18-Jul-2014
    • (2013)Inductive invariant generation via abductive inferenceACM SIGPLAN Notices10.1145/2544173.250951148:10(443-456)Online publication date: 29-Oct-2013
    • (2013)Inductive invariant generation via abductive inferenceProceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications10.1145/2509136.2509511(443-456)Online publication date: 29-Oct-2013
    • (2013)Template-based program verification and program synthesisInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-012-0223-415:5-6(497-518)Online publication date: 1-Oct-2013
    • Show More Cited By

    View Options

    View options

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media