EFFICIENT COMPUTATION OF INTERPROCEDURAL DEFINITION-USE CHAINS

被引:55
作者
HARROLD, MJ [1 ]
SOFFA, ML [1 ]
机构
[1] UNIV PITTSBURGH,DEPT COMP SCI,PITTSBURGH,PA 15260
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 1994年 / 16卷 / 02期
关键词
DATA-FLOW TESTING; INTERPROCEDURAL DATA-FLOW ANALYSIS; INTERPROCEDURAL DEFINITION-USE CHAINS; INTERPROCEDURAL REACHABLE USES; INTERPROCEDURAL REACHING DEFINITIONS;
D O I
10.1145/174662.174663
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 each 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.
引用
收藏
页码:175 / 204
页数:30
相关论文
共 22 条
[1]  
Aho A.V, 1986, COMPILERS PRINCIPLES
[2]  
ALLEN FE, 1987, 1ST P INT C SUP NEW, P194
[3]  
BANNING J, 1979, 6TH ANN ACM S PRINC, P29
[4]   PRACTICAL INTER-PROCEDURAL DATA FLOW ANALYSIS ALGORITHM [J].
BARTH, JM .
COMMUNICATIONS OF THE ACM, 1978, 21 (09) :724-736
[5]   AN INTERVAL-BASED APPROACH TO EXHAUSTIVE AND INCREMENTAL INTERPROCEDURAL DATA-FLOW ANALYSIS [J].
BURKE, M .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1990, 12 (03) :341-395
[6]  
CALLAHAN D, 1988, ACM SIGPLAN NOT, V23
[7]  
COOPER K, 1988, ACM SIGPLAN NOT, V23
[8]   THE IMPACT OF INTERPROCEDURAL ANALYSIS AND OPTIMIZATION IN THE RN PROGRAMMING ENVIRONMENT [J].
COOPER, KD ;
KENNEDY, K ;
TORCZON, L .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1986, 8 (04) :491-523
[9]  
COOPER KD, 1986, ACM SIGPLAN NOT, V21
[10]   AN APPLICABLE FAMILY OF DATA FLOW TESTING CRITERIA [J].
FRANKL, PG ;
WEYUKER, EJ .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1988, 14 (10) :1483-1498