Call-Graph-Based Context-Sensitive Points-to Analysis for Java']Java

被引:0
|
作者
Bao, Yulin [1 ]
Zhang, Chenyi [1 ,2 ]
Su, Kaile [3 ]
机构
[1] Jinan Univ, Coll Informat Sci & Technol, Guangzhou 510632, Peoples R China
[2] Univ Canterbury, Sch Comp Sci & Software Engn, Christchurch 8041, New Zealand
[3] Griffith Univ, Sch Informat & Commun Technol, Brisbane, Qld 4111, Australia
关键词
Context-sensitive points-to; pointer analysis; program analysis;
D O I
10.1109/TR.2023.3236990
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Pointer analysis or points-to analysis (PTA) is a static program analysis for variables in a program, which determines a set of heap objects that individual variables may refer to at run time. In the literature, various types of context-sensitive analyses have been applied to improve the precision of PTA. In this article, we propose a framework that unifies existing context-sensitive PTA methods, under which we further explore more efficient ways for points-to calculation. In particular, we propose a call-graph-based context generation algorithm that combines the object-sensitive PTA and parameter-sensitive PTA approaches, and we implement the algorithm in the Soot compiler framework. Our new algorithm generates contexts for methods in a more complete and effective way, and it has been shown to achieve better precision with fewer generated contexts and less execution time than some of the known state-of-the-art context-sensitive approaches for PTA when tested with a selection of benchmarks from the DaCapo suite.
引用
收藏
页码:851 / 860
页数:10
相关论文
共 50 条
  • [1] Light Context-Sensitive Points-to Analysis for Java']Java
    Milanova, Ana
    [J]. PASTE'07 PROCEEDINGS OF THE 2007 ACM SIGPLAN- SIGSOFT WORKSHOP ON PROGRAM ANALYSIS FOR SOFTWARE TOOLS & ENGINEERING, 2007, : 25 - 30
  • [2] Refinement-based context-sensitive points-to analysis for Java']Java
    Sridharan, Manu
    Bodik, Rastislav
    [J]. ACM SIGPLAN NOTICES, 2006, 41 (06) : 387 - 400
  • [3] Stacking-Based Context-Sensitive Points-to Analysis for Java']Java
    Li, Xin
    Ogawa, Mizuhito
    [J]. HARDWARE AND SOFTWARE: VERIFICATION AND TESTING, 2011, 6405 : 133 - 149
  • [4] Stacking-based context-sensitive points-to analysis for Java
    School of Information Science, Japan Advanced Institute of Science and Technology, Nomi, Japan
    [J]. Lect. Notes Comput. Sci., (133-149):
  • [5] An Ahead-of-time Yet Context-Sensitive Points-to Analysis for Java']Java
    Li, Xin
    Ogawa, Mizuhito
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 253 (05) : 31 - 46
  • [6] Context-sensitive points-to analysis:: Is it worth it?
    Lhoták, O
    Hendren, L
    [J]. COMPILER CONSTRUCTION, PROCEEDINGS, 2006, 3923 : 47 - 64
  • [7] Probabilistic Points-to Analysis for Java']Java
    Sun, Qiang
    Zhao, Jianjun
    Chen, Yuting
    [J]. COMPILER CONSTRUCTION, 2011, 6601 : 62 - +
  • [8] Thread-sensitive points-to analysis for multithreaded Java']Java programs
    Chang, BM
    Choi, JD
    [J]. COMPUTER AND INFORMATION SCIENCES - ISCIS 2004, PROCEEDINGS, 2004, 3280 : 945 - 954
  • [9] Context-sensitive trace inlining for Java']Java
    Haeubl, Christian
    Wimmer, Christian
    Moessenboeck, Hanspeter
    [J]. COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2013, 39 (04) : 123 - 141
  • [10] Flow-Sensitive Points-to Analysis for Java']Java Programs using BDDs
    Toussi, Hamid A.
    Rasoolzadegan, Abbas
    [J]. 2014 4TH INTERNATIONAL CONFERENCE ON COMPUTER AND KNOWLEDGE ENGINEERING (ICCKE), 2014, : 380 - 386