Skip to main content

Polynomial Constants Are Decidable

  • Conference paper
  • First Online:
Book cover Static Analysis (SAS 2002)

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

Included in the following conference series:

Abstract

Constant propagation aims at identifying expressions that always yield a unique constant value at run-time. It is well-known that constant propagation is undecidable for programs working on integers even if guards are ignored as in non-deterministic flow graphs. We show that polynomial constants are decidable in non-deterministic flow graphs. In polynomial constant propagation, assignment statements that use the operators +, -,* are interpreted exactly but all assignments that use other operators are conservatively interpreted as non-deterministic assignments.

We present a generic algorithm for constant propagation via a symbolic weakest precondition computation and show how this generic algorithm can be instantiated for polynomial constant propagation by exploiting techniques from computable ring theory.

The work was supported by the RTD project IST-1999-20527 ”DAEDALUS” of the European FP5 programme.

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. A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986.

    Google Scholar 

  2. K. R. Apt and G. D. Plotkin. Countable nondeterminism and random assignment. Journal of the ACM, 33(4):724–767, 1986.

    Article  MATH  MathSciNet  Google Scholar 

  3. P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings 4th POPL, Los Angeles, California, 1977.

    Google Scholar 

  4. P. Cousot and R. Cousot. Abstract interpretation frameworks. J. Logic Computat., 4(2):511–547, 1992.

    Article  MathSciNet  Google Scholar 

  5. J. H. Davenport, Y. Siret, and E. Tournier. Computer Algebra: Systems and Algorithms for Algebraic Computation. Academic Press, 1988.

    Google Scholar 

  6. E. W. Dijkstra. A Discipline of Programming. Prentice Hall, 1976.

    Google Scholar 

  7. C. Fischer and R. LeBlanc. Crafting a Compiler. Benjamin/Cummings Publishing Co., Inc., Menlo Park, CA, 1988.

    Google Scholar 

  8. K. O. Geddes, S. R. Czapor, and G. Labahn. Algorithms for Computer Algebra. Kluwer, 1992.

    Google Scholar 

  9. M. S. Hecht. Flow analysis of computer programs. Elsevier North-Holland, 1977.

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  11. Mathematics of Program Construction Group. Fixed-point calculus. Information Processing Letters, 53(3):131–136, 1995.

    Article  MathSciNet  Google Scholar 

  12. Y. V. Matiyasevich. Hilbert’s Tenth Problem. The MIT Press, 1993.

    Google Scholar 

  13. A. Melton, D. A. Schmidt, and G. E. Strecker. Galois connections and computer science applications. In D. Pitt, S. Abramsky, A. Poigné, and D. Rydeheard, editors, Category Theory and Computer Programming, LNCS 240, pages 299–312. Springer-Verlag, 1985.

    Google Scholar 

  14. B. Mishra. Algorithmic Algebra. Springer-Verlag, 1993.

    Google Scholar 

  15. S. S. Muchnick. Advanced compiler design and implementation. Morgan Kaufmann Publishers, San Francisco, California, 1997.

    Google Scholar 

  16. M. Müller-Olm and O. Rüthing. The complexity of constant propagation. In D. Sands, editor, ESOP 2001, LNCS 2028, pages 190–205. Springer, 2001.

    Google Scholar 

  17. J. R. Reif and H. R. Lewis. Symbolic evaluation and the global value graph. In Conf. Rec. 4th ACM Symposium on Principles of Programming Languages POPL’77, pages 104–118, Los Angeles, CA, January 1977.

    Google Scholar 

  18. M. Sagiv, T. Reps, and S. Horwitz. Precise interprocedural dataflow analysis with applications to constant propagation. Theoretical Computer Science, 167(1–2):131–170, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  19. B. Steffen and J. Knoop. Finite constants: Characterizations of a new decidable set of constants. Theoretical Computer Science, 80(2):303–318, 1991.

    Article  MATH  MathSciNet  Google Scholar 

  20. F. Winkler. Polynomial Algorithms. Springer-Verlag, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Müller-Olm, M., Seidl, H. (2002). Polynomial Constants Are Decidable. In: Hermenegildo, M.V., Puebla, G. (eds) Static Analysis. SAS 2002. Lecture Notes in Computer Science, vol 2477. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45789-5_4

Download citation

  • DOI: https://doi.org/10.1007/3-540-45789-5_4

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-44235-6

  • Online ISBN: 978-3-540-45789-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics