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

被引:1
|
作者
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 条
  • [41] Efficient context-sensitive shape analysis with graph based heap models
    Marron, Mark
    Hermenegildo, Manuel
    Kapur, Deepak
    Stefanovic, Darko
    COMPILER CONSTRUCTION, 2008, 4959 : 245 - 259
  • [42] Automatic construction of accurate application call graph with library call abstraction for Java']Java
    Zhang, Weilei
    Ryder, Barbara G.
    JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION-RESEARCH AND PRACTICE, 2007, 19 (04): : 231 - 252
  • [43] An Asynchronous Call Graph for Java']JavaScript
    Seifert, Dominik
    Wan, Michael
    Hsu, Jane
    Yeh, Benson
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE (ICSE-SEIP 2022), 2022, : 29 - 30
  • [44] Systematic Evaluation of the Unsoundness of Call Graph Construction Algorithms for Java']Java
    Reif, Michael
    Kuebler, Florian
    Eichberg, Michael
    Mezini, Mira
    COMPANION PROCEEDINGS FOR THE ISSTA/ECOOP 2018 WORKSHOPS, 2018, : 107 - 112
  • [45] Combining type-analysis with points-to analysis for analyzing Java library source-code
    Oracle Labs, Brisbane, Australia
    SOAP - Proc. ACM SIGPLAN Int. Workshop State Art Program Anal., co-located PLDI, (13-18):
  • [46] Context-sensitive graph representation learning
    Jisheng Qin
    Xiaoqin Zeng
    Shengli Wu
    Yang Zou
    International Journal of Machine Learning and Cybernetics, 2023, 14 : 2193 - 2203
  • [47] Context-sensitive graph representation learning
    Qin, Jisheng
    Zeng, Xiaoqin
    Wu, Shengli
    Zou, Yang
    CONNECTION SCIENCE, 2022, 34 (01) : 2313 - 2331
  • [48] Cycle elimination for invocation graph-based context-sensitive pointer analysis
    Choi, Woongsik
    Choe, Kwang-Moo
    INFORMATION AND SOFTWARE TECHNOLOGY, 2011, 53 (08) : 818 - 833
  • [49] Attributed Context-Sensitive Graph Grammars
    Furst, Luka
    ELEKTROTEHNISKI VESTNIK-ELECTROCHEMICAL REVIEW, 2014, 81 (1-2): : 27 - 32
  • [50] Context-sensitive graph representation learning
    Qin, Jisheng
    Zeng, Xiaoqin
    Wu, Shengli
    Zou, Yang
    INTERNATIONAL JOURNAL OF MACHINE LEARNING AND CYBERNETICS, 2023, 14 (6) : 2193 - 2203