Interprocedural pointer alias analysis

被引:101
作者
Hind, M [1 ]
Burke, M [1 ]
Carini, P [1 ]
Choi, JD [1 ]
机构
[1] IBM Corp, Thomas J Watson Res Ctr, Yorktown Hts, NY 10598 USA
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 1999年 / 21卷 / 04期
关键词
algorithms; interprocedural analysis; pointer aliasing; program analysis;
D O I
10.1145/325478.325519
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present practical approximation methods for computing and representing interprocedural aliases for a program written ina language that includes pointers, reference parameters, and recursion. We present the following contributions: (1) a framework for interprocedural pointer alias analysis that handles function pointers by constructing the program call graph while alias analysis is being performed; (2) a flow-sensitive interprocedural pointer alias analysis algorithm; (3) a flow-insensitive interprocedural pointer alias analysis algorithm; (4) a flow-insensitive interprocedural pointer alias analysis algorithm that incorporates kill information to improve precision; (5) empirical measurements of the efficiency and precision of the three interprocedural alias analysis algorithms.
引用
收藏
页码:848 / 894
页数:47
相关论文
共 86 条
  • [1] Aho A. V., 1972, SIAM Journal on Computing, V1, P131, DOI 10.1137/0201008
  • [2] Aho Alfred V., 2007, COMPILERS PRINCIPLES
  • [3] Andersen L. O., 1994, PhD thesis
  • [4] Austin Todd, 1995, POINTER INTENSIVE BE
  • [5] BANNING J, 1979, 6TH ANN ACM S PRINC, P29
  • [6] BURKE M, 1986, SIGPLAN NOTICES, V21, P162, DOI 10.1145/13310.13328
  • [7] AN INTERVAL-BASED APPROACH TO EXHAUSTIVE AND INCREMENTAL INTERPROCEDURAL DATA-FLOW ANALYSIS
    BURKE, M
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1990, 12 (03): : 341 - 395
  • [8] BURKE M, 1995, LECT NOTES COMPUTER, V892, P234
  • [9] BURKE M, 1987, RC12702 IBM RES
  • [10] BURKE M, 1997, 21055 RC IBM TJ WATS