Skip to main content

Invariant Generation

  • Chapter
  • 5962 Accesses

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   79.99
Price excludes VAT (USA)
  • Durable hardcover 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.

Bibliographic Remarks

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. R. A. Horn and C. R. Johnson. Matrix Analysis. Cambridge University Press, 1985.

    Google Scholar 

  4. M. Karr. Affine relationships among variables of a program. Acta Informatica, 6:133–151, 1976.

    Article  MATH  MathSciNet  Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Article  Google Scholar 

  7. 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.

    Article  Google Scholar 

Download references

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics