Book Chapter10.1007/978-3-540-31862-0_24
Program verification using automatic generation of invariants
Enric Rodríguez-Carbonell,Deepak Kapur +1 more
- 20 Sep 2004
- pp 325-340
41
TL;DR: 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 Grobner bases is one particular instance and is proved to be correct and complete.
read more
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 Grobner 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 Grobner 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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Automatic generation of polynomial invariants of bounded degree using abstract interpretation
TL;DR: A method for generating polynomial invariants of imperative programs is presented using the abstract interpretation framework and it is shown that an invariant consisting of a conjunction of polynomials can be automatically generated for each program point.
116
•Journal Article
Computing Properties of Numerical Imperative Programs by Symbolic Computation
Jacques Carette,Ryszard Janicki +1 more
TL;DR: It is shown how properties of an interesting class of imperative programs can be calculated by means of relational modeling and symbolic computation.
Invariant functions and invariant relations: An alternative to invariant assertions
TL;DR: A related but different concept, of invariant relation, is submitted, and it is shown how it can be used to analyze diverse aspects of a while loop.
11
Reflexive transitive invariant relations: A basis for computing loop functions
TL;DR: This paper introduces a related but distinct concept, namely that of invariant relation, which is useful to derive the function of the loop in Mills' logic.
11
Verifying while loops with invariant relations
TL;DR: Where traditional studies of loop termination equate termination with iterating a finite number of times, the definition of termination is broadened to also capture the condition that each individual iteration proceeds without raising an exception.
References
Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints
Patrick Cousot,Radhia Cousot +1 more
- 01 Jan 1977
TL;DR: In this paper, the abstract interpretation of programs is used to describe computations in another universe of abstract objects, so that the results of abstract execution give some information on the actual computations.
•Book
The Art of Computer Programming, Volume 2: Seminumerical Algorithms
Donald E. Knuth
- 01 Jan 1981
4.4K
•Book
Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra
David A. Cox,John Little,Donal O’Shea +2 more
- 01 Jan 1992
TL;DR: Schenzel as mentioned in this paper provides a good introduction to algebraic geometry and commutative algebra with a strong perspective toward practical and computational aspects, including the elimination theorem, the extension theorem, closure theorem, and the Nullstellensatz.
2.9K
•Book
A decision method for elementary algebra and geometry
Alfred Tarski
- 01 Jan 1951
TL;DR: A decision method for a class K of sentence (or other expressions) is meant a method by means of which, given any sentence θ, one can always decide in a finite number of steps whether θ is in K; by a decision problem for K, we mean the problem of finding a decision algorithm for K.
2.2K