An efficient inclusion-based points-to analysis for strictly-typed languages

被引:0
|
作者
Whaley, J [1 ]
Lam, MS [1 ]
机构
[1] Stanford Univ, Comp Syst Lab, Stanford, CA 94305 USA
来源
STATIC ANALYSIS, PROCEEDINGS | 2002年 / 2477卷
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We describe the design and implementation of an efficient. inclusion-based points-to analysis for strictly-typed object-oriented languages. Our implementation easily scales to millions of lines of Java code, and it supports language features such as inheritance, object fields, exceptional control flow, type casting, dynamic dispatch, and reflection. Our algorithm is based on Heintze and Tardieu's Andersen-style points-to analysis designed originally for C programs. We have improved the precision of their algorithm by tracking the fields of individual objects separately and by analyzing the local variables in a method in a flow-sensitive manner. Our algorithm represents the semantics of each procedure concisely using a sparse summary graph representation based on access paths; it iterates over this sparse representation until it reaches a fixed point solution. By utilizing the access path and field information present in the summary graphs, along with minimizing redundant operations and memory management overheads, we are able to quickly and effectively analyze very large programs. Our experimental results demonstrate that this technique can be used to compute precise static call graphs for very large Java programs.
引用
收藏
页码:180 / 195
页数:16
相关论文
共 43 条
  • [21] Stacking-based context-sensitive points-to analysis for Java
    School of Information Science, Japan Advanced Institute of Science and Technology, Nomi, Japan
    Lect. Notes Comput. Sci., (133-149):
  • [22] Time- and Space-Efficient Flow-Sensitive Points-to Analysis
    Nasre, Rupesh
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2013, 10 (04)
  • [23] Accelerating Inclusion-based Pointer Analysis on Heterogeneous CPU-GPU Systems
    Su, Yu
    Ye, Ding
    Xue, Jingling
    2013 20TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING (HIPC), 2013, : 149 - 158
  • [24] Refinement-based context-sensitive points-to analysis for Java']Java
    Sridharan, Manu
    Bodik, Rastislav
    ACM SIGPLAN NOTICES, 2006, 41 (06) : 387 - 400
  • [25] Efficient Learning of Tier-Based Strictly k-Local Languages
    Jardine, Adam
    McMullin, Kevin
    LANGUAGE AND AUTOMATA THEORY AND APPLICATIONS (LATA 2017), 2017, 10168 : 64 - 76
  • [26] Detecting all potential null dereferences based on points-to property sound analysis
    Dong Y.
    International Journal of Computers and Applications, 2020, 42 (02) : 187 - 195
  • [27] Instance-wise points-to analysis for loop-based dependence testing
    Wu, Peng
    Feautrier, Paul
    Padua, David
    Sura, Zehra
    Proceedings of the International Conference on Supercomputing, 2002, : 262 - 273
  • [28] Stacking-Based Context-Sensitive Points-to Analysis for Java']Java
    Li, Xin
    Ogawa, Mizuhito
    HARDWARE AND SOFTWARE: VERIFICATION AND TESTING, 2011, 6405 : 133 - 149
  • [29] Fine-Grained Control-Flow Integrity Based on Points-to Analysis for CPS
    Qiang, Weizhong
    Wang, Shizhen
    Jin, Hai
    Zhong, Jiangying
    SECURITY AND COMMUNICATION NETWORKS, 2018,
  • [30] Correlations of inclusion-based rock-physics model inputs from Bayesian analysis
    Spikes, Kyle T.
    Sen, Mrinal K.
    JOURNAL OF GEOPHYSICS AND ENGINEERING, 2022, 19 (05) : 965 - 981