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 条
  • [31] Making Context-sensitive Points-to Analysis with Heap Cloning Practical For The Real World
    Lattner, Chris
    Lenharth, Andrew
    Adve, Vikram
    PLDI'07: PROCEEDINGS OF THE 2007 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2007, : 278 - 289
  • [32] Extending and evaluating flow-insensitive and context-insensitive points-to analyses for Java']Java
    Liang, DL
    Pennings, M
    Harrold, MJ
    ACM SIGPLAN NOTICES, 2001, : 73 - 79
  • [33] Scaling CFL-Reachability-Based Points-To Analysis Using Context-Sensitive Must-Not-Alias Analysis
    Xu, Guoqing
    Rountev, Atanas
    Sridharan, Manu
    ECOOP 2009 - OBJECT-ORIENTED PROGRAMMING, 2009, 5653 : 98 - +
  • [34] Scalable Context-Sensitive Points-to Analysis Using Multi-dimensional Bloom Filters
    Nasre, Rupesh
    Rajan, Kaushik
    Govindarajan, R.
    Khedker, Uday P.
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2009, 5904 : 47 - +
  • [35] Call Graph Construction for Java']Java Libraries
    Reif, Michael
    Eichberg, Michael
    Hermann, Ben
    Lerch, Johannes
    Mezini, Mira
    FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 474 - 486
  • [36] Modularly Combining Numeric Abstract Domains with Points-to Analysis, and a Scalable Static Numeric Analyzer for Java']Java
    Fu, Zhoulai
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION: (VMCAI 2014), 2014, 8318 : 282 - 301
  • [37] Optimize Context-Sensitive Andersen-Style Points-To Analysis by Method Summarization and Cycle-Elimination
    Li Qian
    Zhao Jianhua
    Li Xuandong
    LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION, AND VALIDATION, PT I, 2010, 6415 : 564 - 578
  • [38] A Context-Sensitive Pointer Analysis Framework for Rust and Its Application to Call Graph Construction
    Li, Wei
    He, Dongjie
    Gui, Yujiang
    Chen, Wenguang
    Xue, Jingling
    PROCEEDINGS OF THE 33RD ACM SIGPLAN INTERNATIONAL CONFERENCE ON COMPILER CONSTRUCTION, CC 2024, 2024, : 60 - 72
  • [39] Characterization of Call-Graph Profiles in Java']Java Workloads
    Nakaike, Takuya
    Inoue, Hiroshi
    Suganuma, Toshio
    Ohara, Moriyoshi
    2014 IEEE INTERNATIONAL SYMPOSIUM ON WORKLOAD CHARACTERIZATION (IISWC), 2014, : 161 - 170
  • [40] SENECA: Taint-Based Call Graph Construction for Java']Java Object Deserialization
    Santos, Joanna C. S.
    Mirakhorli, Mehdi
    Shokri, Ali
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (OOPSLA):