Skip to main content

Approximating the Algebraic Relational Semantics of Imperative Programs

  • Conference paper
Static Analysis (SAS 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3148))

Included in the following conference series:

Abstract

We present a novel static analysis for approximating the algebraic relational semantics of imperative programs. Our method is based on abstract interpretation in the lattice of polynomial pseudo ideals of bounded degree – finite-dimensional vector spaces of polynomials of bounded degree which are closed under bounded degree products. For a fixed bound, the space complexity of our approach and the iterations required to converge on fixed points are bounded by a polynomial in the number of program variables. Nevertheless, for several programs taken from the literature on non-linear polynomial invariant generation, our analysis produces results that are as precise as those produced by more heavy-weight Gröbner basis methods.

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

Access this chapter

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

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Becker, T., Weispfenning, V.: Gröbner Bases: A Computational Approach to Commutative Algebra. Springer, New York (1993)

    MATH  Google Scholar 

  2. Colmerauer, A.: Naive solving of non-linear constraints. In: Benhamou, F., Colmerauer, A. (eds.) Constraint Logic Programming: Selected Research, pp. 89–112. MIT Press, Cambridge (1993)

    Google Scholar 

  3. Cousot, P.: Constructive design of a hierarchy of semantics of a transition system by abstract interpretation. Electronic Notes in Theoretical Computer Science, vol. 6 (1997), http://www.elsevier.nl/locate/entcs/volume6.html

  4. Cousot, P., Cousot, R.: Abstract Interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Conference Record of the 4th ACM Symposium on Principles of Programming Languages, pp. 238–252 (1977)

    Google Scholar 

  5. Cousot, P., Cousot, R.: Automatic synthesis of optimal invariant assertions: Mathematical foundations. In: Proceedings of the ACM Symposium on Artificial Intelligence and Programming Languages, pp. 1–12 (1977)

    Google Scholar 

  6. Cousot, P., Cousot, R.: Comparing the Galois connection and widening/ narrowing approaches to Abstract Interpretation. In: Bruynooghe, M., Wirsing, M. (eds.) Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming, pp. 269–295. Springer, Heidelberg (1992)

    Google Scholar 

  7. Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: Conference Record of the 5th ACM Symposium on Principles of Programming Languages, pp. 84–96 (1978)

    Google Scholar 

  8. Cox, D., Little, J., O’Shea, D.: Ideals, Varieties, and Algorithms. An Introduction to Computational Algebraic Geometry and Commutative Algebra. Springer, New York (1992)

    MATH  Google Scholar 

  9. Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order. Cambridge University Press, Cambridge (1990)

    MATH  Google Scholar 

  10. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Inc., Englewood Cliffs (1976)

    MATH  Google Scholar 

  11. Fröberg, R.: An Introduction to Gröbner Bases. John Wiley & Sons, Chichester (1997)

    MATH  Google Scholar 

  12. German, S.M., Wegbreit, B.: A synthesizer of inductive assertions. IEEE Transactions on Software Engineering SE-1(1), 68–75 (1975)

    Google Scholar 

  13. Granger, P.: Static analysis of linear congruence equalities among variables of a program. In: Abramsky, S., Maibaum, T.S.E. (eds.) Proceedings of the International Joint Conference on Theory and Practice of Software Development, pp. 169–192. Springer, Heidelberg (1991)

    Google Scholar 

  14. Halbwachs, N., Proy, Y.-E., Roumanoff, P.: Verification of real-time systems using linear relation analysis. Formal Methods in System Design 11(2), 157–185 (1997)

    Article  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  16. Katz, S., Manna, Z.: Logical analysis of programs. Communications of the ACM 19(4), 188–206 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  17. Kaye, R.W., Wilson, R.: Linear Algebra. Oxford University Press, Oxford (1998)

    MATH  Google Scholar 

  18. Manna, Z.: Mathematical Theory of Computation. McGraw-Hill, New York (1974)

    MATH  Google Scholar 

  19. Mastroeni, I.: Numerical power analysis. In: Proceedings of the 2nd Symposium on Programs as Data Objects, pp. 117–137. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  20. Mayr, E.W., Meyer, A.R.: The complexity of the word problems for commutative semigroups and polynomial ideals. Adv. Math. 46, 305–329 (1982)

    Article  MATH  MathSciNet  Google Scholar 

  21. Mili, A.: A relational approach to the design of deterministic programs. Acta Informatica 20, 315–328 (1983)

    Article  MATH  MathSciNet  Google Scholar 

  22. Mills, H.: The new math of computer programming. Communications of the ACM 18(1), 43–48 (1975)

    Article  MATH  MathSciNet  Google Scholar 

  23. Müller-Olm, M., Seidl, H.: Precise interprocedural analysis through linear algebra. In: Jones, N.D., Leroy, X. (eds.) 31st ACM Symposium on Principles of Programming Languages, pp. 330–341 (2004)

    Google Scholar 

  24. Rodríguez-Carbonell, E., Kapur, D.: Automatic generation of polynomial loop invariants for imperative programs. Technical Report TR-CS-2003-39, University of New Mexico (2003)

    Google Scholar 

  25. Sankaranarayanan, S., Sipma, H.B., Manna, Z.: Non-linear loop invariant generation using Gröbner bases. In: Jones, N.D., Leroy, X. (eds.) 31st ACM Symposium on Principles of Programming Languages, pp. 318–329 (2004)

    Google Scholar 

  26. Strang, G.: Linear Algebra and Its Applications. Harcourt Brace Jovanovich, San Diego (1988)

    Google Scholar 

  27. Wegbreit, B.: Property extraction in well-founded property sets. IEEE Transactions on Software Engineering SE-1(3), 270–285 (1975)

    MathSciNet  Google Scholar 

  28. Yap, C.K.: A new lower bound construction for the word problem for commutative Thue systems. Journal of Symbolic Computation 12(1), 1–28 (1991)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Colón, M.A. (2004). Approximating the Algebraic Relational Semantics of Imperative Programs. In: Giacobazzi, R. (eds) Static Analysis. SAS 2004. Lecture Notes in Computer Science, vol 3148. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27864-1_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-27864-1_22

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22791-5

  • Online ISBN: 978-3-540-27864-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics