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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986.
K. R. Apt and G. D. Plotkin. Countable nondeterminism and random assignment. Journal of the ACM, 33(4):724–767, 1986.
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.
P. Cousot and R. Cousot. Abstract interpretation frameworks. J. Logic Computat., 4(2):511–547, 1992.
J. H. Davenport, Y. Siret, and E. Tournier. Computer Algebra: Systems and Algorithms for Algebraic Computation. Academic Press, 1988.
E. W. Dijkstra. A Discipline of Programming. Prentice Hall, 1976.
C. Fischer and R. LeBlanc. Crafting a Compiler. Benjamin/Cummings Publishing Co., Inc., Menlo Park, CA, 1988.
K. O. Geddes, S. R. Czapor, and G. Labahn. Algorithms for Computer Algebra. Kluwer, 1992.
M. S. Hecht. Flow analysis of computer programs. Elsevier North-Holland, 1977.
M. Karr. Affine relationships among variables of a program. Acta Informatica, 6:133–151, 1976.
Mathematics of Program Construction Group. Fixed-point calculus. Information Processing Letters, 53(3):131–136, 1995.
Y. V. Matiyasevich. Hilbert’s Tenth Problem. The MIT Press, 1993.
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.
B. Mishra. Algorithmic Algebra. Springer-Verlag, 1993.
S. S. Muchnick. Advanced compiler design and implementation. Morgan Kaufmann Publishers, San Francisco, California, 1997.
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.
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.
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.
B. Steffen and J. Knoop. Finite constants: Characterizations of a new decidable set of constants. Theoretical Computer Science, 80(2):303–318, 1991.
F. Winkler. Polynomial Algorithms. Springer-Verlag, 1996.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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