Abstract
While applying the inductive assertion method of Chapters 5 and 6 certainly requires insights from the programmer, algorithms that examine programs can discover many simple properties. This chapter describes a form of static analysis called invariant generation, whose task is to discover inductive assertions of programs. A static analysis is a procedure that operates on the text of a program. An invariant generation procedure is a static analysis that produces inductive program annotations as output.
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.
Bibliographic Remarks
P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Principles of Programming Languages, pages 238–252. ACM Press, 1977.
P. Cousot and N. Halbwachs. Automatic discovery of linear restraints among the variables of a program. In Principles of Programming Languages, pages 84–96. ACM Press, 1978.
R. A. Horn and C. R. Johnson. Matrix Analysis. Cambridge University Press, 1985.
M. Karr. Affine relationships among variables of a program. Acta Informatica, 6:133–151, 1976.
A. Miné. The octagon abstract domain. In Analysis, Slicing and Transformation (part of Working Conference on Reverse Engineering), IEEE, pages 310–319. IEEE Computer Society, October 2001.
M. Müller-Olm and H. Seidl. A note on Karr’s algorithm. In International Colloquium on Automata, Languages and Programming, volume 3142 of LNCS, pages 1016–1027. Springer-Verlag, 2004.
R. Wilhelm, S. Sagiv, and T. W. Reps. Parametric shape analysis via 3-valued logic. Transactions on Programming Languages and Systems, 24(3):217–298, May 2002.
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
(2007). Invariant Generation. In: The Calculus of Computation. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74113-8_12
Download citation
DOI: https://doi.org/10.1007/978-3-540-74113-8_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74112-1
Online ISBN: 978-3-540-74113-8
eBook Packages: Computer ScienceComputer Science (R0)