|
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
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
2
|
F. Allen , M. Burke , P. Charles , R. Cytron , J. Ferrante, An overview of the PTRAN analysis system for multiprocessing, Proceedings of the 1st International Conference on Supercomputing, p.194-211, March 1988, Athens, Greece
|
 |
3
|
|
 |
4
|
|
 |
5
|
|
 |
6
|
|
 |
7
|
|
 |
8
|
|
 |
9
|
|
| |
10
|
Phyllis G. Frankl , Elaine J. Weyuker, A data flow testing tool, Proceedings of the second conference on Software development tools, techniques, and alternatives, p.46-53, December 1985, San Francisco, California, United States
|
| |
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
|
B. Korel , J. Laski, A tool for data flow oriented program testing, Proceedings of the second conference on Software development tools, techniques, and alternatives, p.34-37, December 1985, San Francisco, California, United States
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mary Jean Harrold , Loren Larsen , John Lloyd , David Nedved , Melanie Page , Gregg Rothermel , Manvinder Singh , Michael Smith, Aristotle: a system for development of program analysis based tools, Proceedings of the 33rd annual on Southeast regional conference, March 17-18, 1995, Clemson, South Carolina
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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...
|