Skip to main content

Program Verification Using Automatic Generation of Invariants,

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3407))

Abstract

In an earlier paper, an algorithm based on algebraic geometry was developed for discovering polynomial invariants in loops without nesting, not requiring any a priori bound on the degree of the invariants. Polynomial invariants were shown to form an ideal, a basis of which could be computed using Gröbner bases methods. In this paper, an abstract logical framework is presented for automating the discovery of invariants for loops without nesting, of which the algorithm based on algebraic geometry and Gröbner bases is one particular instance. The approach based on this logical abstract framework is proved to be correct and complete. The techniques have been used with a verifier to automatically check properties of many non-trivial programs with considerable success. Some of these programs are discussed in the paper to illustrate the effectiveness of the method.

This research was partially supported by an NSF ITR award CCR-0113611, the Prince of Asturias Endowed Chair in Information Science and Technology at the University of New Mexico, a Spanish FPU grant ref. AP2002-3693, and the Spanish project MCYT TIC2001-2476-C03-01.

An extended version of this paper is available at www.lsi.upc.es/~erodri.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Boigelot, B.: Symbolic Methods for Exploring Infinite State Spaces. PhD thesis, Faculté des Sciences Appliquées de l’Université de Liège (1999)

    Google Scholar 

  2. Cousot, P., Cousot, R.: Abstract Interpretation: a Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In: POPL 1977, pp. 238–252 (1977)

    Google Scholar 

  3. Cousot, P., Halbwachs, N.: Automatic Discovery of Linear Restraints among Variables of a Program. In: POPL 1978, pp. 84–97 (1978)

    Google Scholar 

  4. Cox, D., Little, J., O’Shea, D.: Ideals, Varieties and Algorithms. An Introduction to Computational Algebraic Geometry and Commutative Algebra. Springer, Heidelberg (1998)

    Google Scholar 

  5. Cohen, E.: Programming in the 1990s. Springer, Heidelberg (1990)

    MATH  Google Scholar 

  6. Chadha, R., Plaisted, D.A.: On the Mechanical Derivation of Loop Invariants. Journal of Symbolic Computation 15(5-6), 705–744 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  7. Colón, M.A., Sankaranarayanan, S., Sipma, H.B.: 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)

    Chapter  Google Scholar 

  8. Dijkstra, E.: A Discipline of Programming. Prentice Hall, Englewood Cliffs (1976)

    MATH  Google Scholar 

  9. Kaldewaij, A.: Programming. The Derivation of Algorithms. Prentice-Hall, Englewood Cliffs (1990)

    Google Scholar 

  10. Kapur, D.: Automatically Generating Loop Invariants using Quantifier Elimination. Technical Report TR-CS-2003-58, Department of Computer Science, UNM (2003); Also in 10th International IMACS Conference on Applications of Computer Algebra (ACA 2004), Lamar, TX (July 2004)

    Google Scholar 

  11. Karr, M.: Affine Relationships Among Variables of a Program. Acta Informatica 6, 133–151 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  12. Knuth, D.E.: The Art of Computer Programming. Seminumerical Algorithms, vol. 2. Addison-Wesley, Reading (1969)

    MATH  Google Scholar 

  13. Müller-Olm, M., Seidl, H.: Computing Polynomial Program Invariants. Technical report, Fernuni Hagen (2003) Num. 310. To appear in IPL

    Google Scholar 

  14. Müller-Olm, M., Seidl, H.: Computing Interprocedurally Valid Relations in Affine Programs. In: POPL 2004, pp. 330–341 (2004)

    Google Scholar 

  15. Rodríguez-Carbonell, E., Kapur, D.: An Abstract Interpretation Approach for Automatic Generation of Polynomial Invariants.To appear in SAS 2004, www.lsi.upc.es/~erodri

  16. Rodríguez-Carbonell, E., Kapur, D.: Automatic Generation of Polynomial Loop Invariants: Algebraic Foundations. In: ISSAC 2004 (2004)

    Google Scholar 

  17. Sankaranarayanan, S., Sipma, H.B., Manna, Z.: Non-linear Loop Invariant Generation Using Gröbner Bases. In: POPL 2004, pp. 318–329 (2004)

    Google Scholar 

  18. Tarski, A.: A Decision Method for Elementary Algebra and Geometry. University of California Press, Berkeley (1951)

    MATH  Google Scholar 

  19. Weidenbach, C., Brahm, U., Hillenbrand, T., Keen, E., Theobald, C., Topic, D.: SPASS version 2.0. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, pp. 275–279. Springer, Heidelberg (2002)

    Google Scholar 

  20. Wegbreit, B.: Property Extraction in Well-founded Property Sets. IEEE Transactions on Software Engineering 1(3), 270–285 (1975)

    MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Rodríguez-Carbonell, E., Kapur, D. (2005). Program Verification Using Automatic Generation of Invariants, . In: Liu, Z., Araki, K. (eds) Theoretical Aspects of Computing - ICTAC 2004. ICTAC 2004. Lecture Notes in Computer Science, vol 3407. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31862-0_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-31862-0_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25304-4

  • Online ISBN: 978-3-540-31862-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics