ACM Home Page
Please provide us with feedback. Feedback
Efficient computation of interprocedural definition-use chains
Full text PdfPdf (2.00 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 16 ,  Issue 2  (March 1994) table of contents
Pages: 175 - 204  
Year of Publication: 1994
ISSN:0164-0925
Authors
Mary Jean Harrold  Clemson University
Mary Lou Soffa  University of Pittsburgh
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 24,   Downloads (12 Months): 129,   Citation Count: 34
Additional Information:

abstract   references   cited by   index terms   review   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/174662.174663
What is a DOI?

ABSTRACT

The dependencies that exist among definitions and uses of variables in a program are required by many language-processing tools. This paper considers the computation of definition-use and use-definition chains that extend across procedure boundaries at call and return sites. Intraprocedural definition and use information is abstracted for each procedure and is used to construct an interprocedural flow graph. This intraprocedural data-flow information is then propagated throughout the program via the interprocedural flow graph to obtain sets of reaching definitions and/or reachable uses for reach interprocedural control point, including procedure entry, exit, call, and return. Interprocedural definition-use and/or use-definition chains are computed from this reaching information. The technique handles the interprocedural effects of the data flow caused by both reference parameters and global variables, while preserving the calling context of called procedures. Additionally, recursion, aliasing, and separate compilation are handled. The technique has been implemented using a Sun-4 Workstation and incorporated into an interprocedural data-flow tester. Results from experiments indicate the practicality of the technique, both in terms of the size of the interprocedural flow graph and the size of the data-flow sets.


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
5
6
7
8
9
 
10
 
11
 
12
~HARROLD, M. J., AND SOFFA, M.L. 1989. An incremental data flow testing tool. In Proceedings ~of the 6th International Conference on Testing Computer Software (Washington D.C., May).
 
13
14
15
16
 
17
 
18
~LASKI, J. W., AND KOREL, B. 1983. A data flow oriented program testing strategy. IEEE Trans. ~Softw. Eng. SE-9, 3 (May), 347-354.
 
19
LOMET, D.B. 1977. Data flow analysis in the presence of procedure calls. IBM J. Res. Dev. 21, ~6 (Nov.), 559-571.
20
 
21
 
22
~TAHA, A. M., THEBUT, S. M., AND LIU, S.S. 1989. An approach to software fault localization ~and revalidation based on incremental data flow analysis. In Proceedings of COMPSAC 89 ~(Sept.). IEEE, New York, 527-534.

CITED BY  34


REVIEW

"Olivier Louis Marie Lecarme : Reviewer"

Harrold and Soffa's work is a contribution to dataflow analysis, which is an important component of two important parts of compilation—code generation and code optimization. The basic purpose of this paper is to describe an original algo  more...

Collaborative Colleagues:
Mary Jean Harrold: colleagues
Mary Lou Soffa: colleagues