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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Boigelot, B.: Symbolic Methods for Exploring Infinite State Spaces. PhD thesis, Faculté des Sciences Appliquées de l’Université de Liège (1999)
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)
Cousot, P., Halbwachs, N.: Automatic Discovery of Linear Restraints among Variables of a Program. In: POPL 1978, pp. 84–97 (1978)
Cox, D., Little, J., O’Shea, D.: Ideals, Varieties and Algorithms. An Introduction to Computational Algebraic Geometry and Commutative Algebra. Springer, Heidelberg (1998)
Cohen, E.: Programming in the 1990s. Springer, Heidelberg (1990)
Chadha, R., Plaisted, D.A.: On the Mechanical Derivation of Loop Invariants. Journal of Symbolic Computation 15(5-6), 705–744 (1993)
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)
Dijkstra, E.: A Discipline of Programming. Prentice Hall, Englewood Cliffs (1976)
Kaldewaij, A.: Programming. The Derivation of Algorithms. Prentice-Hall, Englewood Cliffs (1990)
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)
Karr, M.: Affine Relationships Among Variables of a Program. Acta Informatica 6, 133–151 (1976)
Knuth, D.E.: The Art of Computer Programming. Seminumerical Algorithms, vol. 2. Addison-Wesley, Reading (1969)
Müller-Olm, M., Seidl, H.: Computing Polynomial Program Invariants. Technical report, Fernuni Hagen (2003) Num. 310. To appear in IPL
Müller-Olm, M., Seidl, H.: Computing Interprocedurally Valid Relations in Affine Programs. In: POPL 2004, pp. 330–341 (2004)
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
Rodríguez-Carbonell, E., Kapur, D.: Automatic Generation of Polynomial Loop Invariants: Algebraic Foundations. In: ISSAC 2004 (2004)
Sankaranarayanan, S., Sipma, H.B., Manna, Z.: Non-linear Loop Invariant Generation Using Gröbner Bases. In: POPL 2004, pp. 318–329 (2004)
Tarski, A.: A Decision Method for Elementary Algebra and Geometry. University of California Press, Berkeley (1951)
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)
Wegbreit, B.: Property Extraction in Well-founded Property Sets. IEEE Transactions on Software Engineering 1(3), 270–285 (1975)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)