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 条
  • [21] Incremental Points-to Analysis for Java']Java via Edit Propagation
    Chen, Yuting
    Shi, Qiuwei
    Miao, Weikai
    STRUCTURED OBJECT-ORIENTED FORMAL LANGUAGE AND METHOD, 2015, 8979 : 164 - 178
  • [22] Efficient and Effective Handling of Exceptions in Java']Java Points-to Analysis
    Kastrinis, George
    Smaragdakis, Yannis
    COMPILER CONSTRUCTION, CC 2013, 2013, 7791 : 41 - 60
  • [23] Evaluating the Benefits of Context-Sensitive Points-to Analysis Using a BDD-Based Implementation
    Lhotak, Ondrej
    Hendren, Laurie
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2008, 18 (01)
  • [24] PATH IDENTIFYING IN POINTS-TO ANALYSIS FOR JAVA']JAVA WITH ANSWER SET PROGRAMMING
    Bo, Yang
    Ying, Zhang
    Ming-Yi, Zhang
    UNCERTAINTY MODELING IN KNOWLEDGE ENGINEERING AND DECISION MAKING, 2012, 7 : 360 - 367
  • [25] Detecting Vulnerable Java']Java Classes Based on the Analysis of Java']Java Library Call Graph
    Park, Hyosung
    Park, Chulwoo
    Yoo, SangBong
    Kim, Kichang
    IEEE 2018 INTERNATIONAL CONGRESS ON CYBERMATICS / 2018 IEEE CONFERENCES ON INTERNET OF THINGS, GREEN COMPUTING AND COMMUNICATIONS, CYBER, PHYSICAL AND SOCIAL COMPUTING, SMART DATA, BLOCKCHAIN, COMPUTER AND INFORMATION TECHNOLOGY, 2018, : 1872 - 1879
  • [26] Correlation Tracking for Points-To Analysis of Java']JavaScript
    Sridharan, Manu
    Dolby, Julian
    Chandra, Satish
    Schaefer, Max
    Tip, Frank
    ECOOP 2012 - OBJECT-ORIENTED PROGRAMMING, 2012, 7313 : 435 - 458
  • [27] Points-to analysis for partial call graph construction
    College of Computer Science and Technology, Zhejiang University, Hangzhou
    310027, China
    Zhejiang Daxue Xuebao (Gongxue Ban), 6 (1031-1040):
  • [28] State-Sensitive Points-to Analysis for the Dynamic Behavior of Java']JavaScript Objects
    Wei, Shiyi
    Ryder, Barbara G.
    ECOOP 2014 - OBJECT-ORIENTED PROGRAMMING, 2014, 8586 : 1 - 26
  • [29] Making context-sensitive points-to analysis with heap cloning practical for the real world
    Lattner, Chris
    Lenharth, Andrew
    Adve, Vikram
    ACM SIGPLAN NOTICES, 2007, 42 (06) : 278 - 289
  • [30] Giga-Scale Exhaustive Points-To Analysis for Java']Java in Under a Minute
    Dietrich, Jens
    Hollingum, Nicholas
    Scholz, Bernhard
    ACM SIGPLAN NOTICES, 2015, 50 (10) : 535 - 551