Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Finite constants
Steffen B., Knoop J. Theoretical Computer Science80 (2):303-318,1991.Type:Article
Date Reviewed: May 1 1992

Constant propagation, the replacement of program terms that represent a unique constant at runtime by their values, is a classical program optimization method. Constant propagation techniques generally use heuristics to identify as many replaceable terms as possible, since it is generally undecidable whether a term can be replaced by a constant. Such heuristics implicitly define a subset of all replaceable terms, but an equivalent explicit definition of this set (operational or denotational) is often difficult to derive. In contrast, Steffen and Knoop explicitly define a set of finite constants in both an operational and a denotational style. Finite constants generalize the set of constant terms calculated by the algorithm developed by Kam and Ullman in 1977 [1]. This paper proves that the two given characterizations are equivalent and shows that it is decidable if a term is a finite constant. Decidability is proven by using regular expressions to denote sets of paths in the flow graph. Then an enhanced algorithm is given. Moreover, the authors show that the algorithm is complete and optimal for programs without loops.

The paper is well written and organized. It can be read without a specific background. Nevertheless, readers interested in program optimization techniques and dataflow analysis constitute the natural audience.

A weakness of the paper is the lack of any comment on the complexity of the given algorithm. Actually, for programs without loops, I wonder whether some simpler algorithm could be found.

Reviewer:  A. Bossi Review #: CR115513
1) Kam, J. B. and Ullman, J. D. Monotone data flow analysis frameworks. Acta Inf. 7 (1977), 309–317. See <CR> 19, 7 (July 1978), Rev. 33,239.
Bookmark and Share
 
Optimization (D.3.4 ... )
 
 
Decision Problems (F.4.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Optimization": Date
Optimizing schemes for structured programming language processors
Tsuji T., Ellis Horwood, Upper Saddle River, NJ, 1990. Type: Book (9780138551230)
Apr 1 1992
Optimizing compilers for parallel computers (videotape)
Allen F., University Video Communications, Stanford, CA, 1991. Type: Book
Aug 1 1993
Data flow analysis and global optimization
Morel E., Cambridge University Press, New York, NY, 1984. Type: Book (9780521268431)
Aug 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy