Demand-driven alias analysis for C

被引:28
|
作者
Zheng, Xin [1 ]
Rugina, Radu [1 ]
机构
[1] Cornell Univ, Dept Comp Sci, Ithaca, NY 14853 USA
关键词
algorithms; languages; pointer analysis; alias analysis; memory disambiguation; demand-driven analysis; CFL reachability;
D O I
10.1145/1328897.1328464
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper presents a demand-driven, flow-insensitive analysis algorithm for answering may-alias queries. We formulate the computation of alias queries as a CFL-reachability problem, and use this formulation to derive a demand-driven analysis algorithm. The analysis uses a worklist algorithm that gradually explores the program structure and stops as soon as enough evidence is gathered to answer the query. Unlike existing techniques, our approach does not require building or intersecting points-to sets. Experiments show that our technique is effective at answering alias queries accurately and efficiently in a demand-driven fashion. For a set of alias queries from the SPEC2000 benchmarks, an implementation of our analysis is able to accurately answer 96% of the queries in 0.5 milliseconds per query on average, using only 65 KB of memory. Compared to a demand-driven points-to analysis that constructs and intersects points-to sets on the fly, our alias analysis can achieve better accuracy while running more than 30 times faster. The low run-time cost and low memory demands of the analysis make it a very good candidate not only for compilers, but also for interactive tools, such as program understanding tools or integrated development environments (IDEs).
引用
收藏
页码:197 / 208
页数:12
相关论文
共 50 条
  • [21] Demand-driven specification partitioning
    Mittermeir, RT
    Bollin, A
    MODULAR PROGRAMMING LANGUAGES, PROCEEDINGS, 2003, 2789 : 241 - 253
  • [22] Demand-driven sustainable tourism? A choice modelling analysis
    Brau, Rinaldo
    TOURISM ECONOMICS, 2008, 14 (04) : 691 - 708
  • [23] Is the national wheat breeding programme demand-driven? An analysis
    Mohan, D
    Nagarajan, S
    Singh, RVP
    Shoran, J
    CURRENT SCIENCE, 2001, 81 (07): : 749 - 753
  • [24] The Empirical Analysis of Demand-driven Economic Growth in China
    Zhang Xiaoxue
    Wang Yanmin
    RECENT ADVANCE IN STATISTICS APPLICATION AND RELATED AREAS, VOLS I AND II, 2009, : 2123 - 2126
  • [25] Demand-Driven Materials Design
    Zhang H.
    Shanghai Jiaotong Daxue Xuebao/Journal of Shanghai Jiaotong University, 2021, 55 : 93 - 94
  • [26] Demand-driven clustering in MANETs
    Cramer, C
    Stanze, O
    Weniger, K
    Zitterbart, M
    ICWN'04 & PCC'04, VOLS, 1 AND 2, PROCEEDINGS, 2004, : 81 - 87
  • [27] Demand-driven memory management
    Acta Polytechnica Scandinavica, Mathematics and Computer Science Series, 1991, (58):
  • [28] A practical framework for demand-driven interprocedural data flow analysis
    Duesterwald, E
    Gupta, R
    Soffa, ML
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1997, 19 (06): : 992 - 1030
  • [29] Advanced logistics: demand-driven innovation
    Rudolph, MM
    Gillingwater, D
    FIRST INTERNATIONAL CONFERENCE: MANAGING ENTERPRISES - STAKEHOLDERS, ENGINEERING, LOGISTICS, AND ACHIEVEMENT (ME-SELA'97): CONFERENCE THEME: SUSTAINABLE MANUFACTURING FOR GLOBAL BUSINESS, 1997, : 343 - 348
  • [30] Practical framework for demand-driven interprocedural data flow analysis
    Hewlett-Packard Lab, Cambridge, United States
    ACM Trans Program Lang Syst, 6 (992-1030):