Skip to main content

Interprocedurally Analyzing Polynomial Identities

  • Conference paper
STACS 2006 (STACS 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3884))

Included in the following conference series:

Abstract

Since programming languages are Turing complete, it is impossible to decide for all programs whether a given non-trivial semantic property is valid or not. The way-out chosen by abstract interpretation is to provide approximate methods which may fail to certify a program property on some programs. Precision of the analysis can be measured by providing classes of programs for which the analysis is complete, i.e., decides the property in question. Here, we consider analyses of polynomial identities between integer variables such as x 1 . x 2− 2x3 = 0. We describe current approaches and clarify their completeness properties. We also present an extension of our approach based on weakest precondition computations to programs with procedures and equality guards.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Springer, Heidelberg (1993)

    Book  MATH  Google Scholar 

  2. Bensalem, S., Lakhnech, Y., Saidi, H.: Powerful Techniques for the Automatic Generation of Invariants. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  3. Bjørner, N., Browne, A., Manna, Z.: Automatic Generation of Invariants and Intermediate Assertions. Theoretical Computer Science 173(1), 49–87 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  4. Colón, M.A.: Approximating the Algebraic Relational Semantics of Imperative Programs. In: Giacobazzi, R. (ed.) SAS 2004. LNCS, vol. 3148, pp. 296–311. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  5. Cousot, P.: Proving Program Invariance and Termination by Parametric Abstraction, Lagrangian Relaxation and Semidefinite Programming. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 1–24. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  6. Cousot, P., Cousot, R.: Static Determination of Dynamic Properties of Recursive Procedures. In: Neuhold, E. (ed.) IFIP Conf. on Formal Description of Programming Concepts, pp. 237–277. North-Holland, Amsterdam (1977)

    Google Scholar 

  7. Gulwani, S., Necula, G.: Discovering Affine Equalities Using Random Interpretation. In: 30th ACM Symp. on Principles of Programming Languages (POPL), pp. 74–84 (2003)

    Google Scholar 

  8. Gulwani, S., Necula, G.: Precise Interprocedural Analysis Using Random Interpretation. In: 32th Ann. ACM Symp. on Principles of Programming Languages (POPL), pp. 324–337 (2005)

    Google Scholar 

  9. Hecht, M.S.: Flow Analysis of Computer Programs. Elsevier North-Holland (1977)

    Google Scholar 

  10. Kam, J., Ullman, J.: Global Data Flow Analysis and Iterative Algorithms. Journal of the ACM (JACM) 23(1), 158–171 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  11. Karr, M.: Affine Relationships Among Variables of a Program. Acta Informatica 6, 133–151 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  12. Müller-Olm, M., Seidl, H.: Polynomial Constants are Decidable. In: Hermenegildo, M.V., Puebla, G. (eds.) SAS 2002. LNCS, vol. 2477, pp. 4–19. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  13. Müller-Olm, M., Seidl, H.: A Note on Karr’s Algorithm. In: Díaz, J., Karhumäki, J., Lepistö, A., Sannella, D. (eds.) ICALP 2004. LNCS, vol. 3142, pp. 1016–1028. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  14. Müller-Olm, M., Seidl, H.: Computing Polynomial Program Invariants. Information Processing Letters (IPL) 91(5), 233–244 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  15. Müller-Olm, M., Seidl, H.: Precise Interprocedural Analysis through Linear Algebra. In: 31st ACM Symp. on Principles of Programming Languages (POPL), pp. 330–341 (2004)

    Google Scholar 

  16. Müller-Olm, M., Seidl, H.: A Generic Framework for Interprocedural Analysis of Numerical Properties. In: Hankin, C., Siveroni, I. (eds.) SAS 2005. LNCS, vol. 3672, pp. 235–250. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  17. Müller-Olm, M., Seidl, H.: Analysis of Modular Arithmetic. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 46–60. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  18. Petter, M.: Berechnung von polynomiellen Invarianten, Diploma Thesis (2004)

    Google Scholar 

  19. Reif, J.R., Lewis, H.R.: Symbolic Evaluation and the Global Value Graph. In: 4th ACM Symp. on Principles of Programming Languages POPL 1977, pp. 104–118 (1977)

    Google Scholar 

  20. Rodriguez-Carbonell, E., Kapur, D.: An Abstract Interpretation Approach for Automatic Generation of Polynomial Invariants. In: Giacobazzi, R. (ed.) SAS 2004. LNCS, vol. 3148, pp. 280–295. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  21. Rodriguez-Carbonell, E., Kapur, D.: Automatic Generation of Polynomial Loop Invariants: Algebraic Foundations. In: Int. ACM Symposium on Symbolic and Algebraic Computation 2004 (ISSAC 2004), pp. 266–273 (2004)

    Google Scholar 

  22. Sankaranarayanan, S., Sipma, H.B., Manna, Z.: Non-linear Loop Invariant Generation using Gröbner Bases. In: ACM Symp. on Principles of Programming Languages (POPL), pp. 318–329 (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Müller-Olm, M., Petter, M., Seidl, H. (2006). Interprocedurally Analyzing Polynomial Identities. In: Durand, B., Thomas, W. (eds) STACS 2006. STACS 2006. Lecture Notes in Computer Science, vol 3884. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11672142_3

Download citation

  • DOI: https://doi.org/10.1007/11672142_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-32301-3

  • Online ISBN: 978-3-540-32288-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics