ACM Home Page
Please provide us with feedback. Feedback
Symbolic evaluation and the global value graph
Full text PdfPdf (1.34 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages table of contents
Los Angeles, California
Pages: 104 - 118  
Year of Publication: 1977
Authors
John H. Reif  Harvard University
Harry R. Lewis  Harvard University
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 44,   Citation Count: 22
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/512950.512961
What is a DOI?

ABSTRACT

This paper is concerned with difficult global flow problems which require the symbolic evaluation of programs. We use, as is common in global flow analysis, a model in which the expressions computed are specified, but the flow of control is indicated only by a directed graph whose nodes are blocks of assignment statements. We show that if such a program model is interpreted in the domain of integer arithmetic then many natural global flow problems are unsolvable. We then develop a direct (non-iterative) method for finding general symbolic values for program expressions. Our method gives results similar to an iterative method due to Kildall and a direct method due to Fong, Kam, and Ullman. By means of a structure called the global value graph which compactly represents both symbolic values and the flow of these values through the program, we are able to obtain results that are as strong as either of these algorithms at a lower time cost, while retaining applicability to all flow graphs.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
3
 
4
{CA} Cocke, J. and Allen, F. E., "A catalogue of Optimization Transformations," Design and Optimization of Computers, R. Rustin, ed.), Printice-Hall, (1971), pp 1-30.
5
6
 
7
8
9
10
 
11
{KU2} Kam, J. B. and Ullman, J. D., "Monotone data flow analysis frameworks," Technical Report 167, Computer Science Department, Princeton University, (Jan. 1976).
 
12
{K} Karr, M, "P-graphs," Massachusetts Computer Associates, CAID-7501-1511, (Jan. 1975).
 
13
{Ke1} Kennedy, K., "Safety of code motion," International J. Computer Math., vol. 3, (Dec. 1971), pp. 5-15.
 
14
{Ke2} Kennedy, K., "A comparison of algorithms for global glow analysis," TR 476-093-1, Dept of Mathematical Sciences, Rice Univ., Houston, Texas, (Feb. 1974).
15
16
 
17
18
19
 
20
{M} Matijasevic, Y., "Enumerable sets are diophantine," (Russian), Dodl. Akad. Nauk SSSR 191 (1970), pp. 279-282.
 
21
{R} Reif, J. H., Ph.D. Dissertation, in progress.
 
22
{S} Schaefer, M., A Mathematical Theory of Global Analysis, Prentice-Hall, Englewood Cliffs, N.J., (1973).
 
23
{Sc} Schwartz, J. T., "Optimization of very high level languages -- value transmission and its corollaries," Computer Languages, V. 1, (1975), pp. 161-194.
 
24
{SS} Shapiro, R. and Saint, H., "The representation of algorithms R?DC, Technical Report 313, Vol., June (1972).
 
25
{T1} Tarjan, R. E., "Depth-first search and linear graph algorithms," SIAM J. Computing, Vol. 1, No. 2, (June 1972), pp. 146-160.
26
 
27
 
28
 
29
{T5} Tarjan, R., Personal communication to M. Karr, (1976).
 
30
{U} Ullman, J. D., "Fast algorithms for elimination of common subexpressions," Acta Informatica, Vol. 2, N. 3, (Dec. 1973), pp 191-213.
31

CITED BY  22
Collaborative Colleagues:
John H. Reif: colleagues
Harry R. Lewis: colleagues