Stacking-Based Context-Sensitive Points-to Analysis for Java']Java

被引:0
|
作者
Li, Xin [1 ]
Ogawa, Mizuhito [1 ]
机构
[1] Japan Adv Inst Sci & Technol, Sch Informat Sci, Nomi, Japan
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Points-to analysis for Java infers heap objects that a reference variable can point to. Existing practiced context-sensitive points-to analyses are cloning-based, with an inherent limit to handle recursive procedure calls and being hard to scale under deep cloning. This paper presents a stacking-based context-sensitive points-to analysis for Java, by deriving the analysis as weighted pushdown model checking problems. To generate a tractable model for model checking, instead of passing global variables as parameters along procedure calls and returns, we model the heap memory with a global data structure that stores and loads global references with synchronized points-to information on-demand. To accelerate the analysis, we propose a two-staged iterative procedure that combines local exploration for lightening most of iterations and global update for guaranteeing soundness. In particular, summary transition rules that carry cached data flows are carefully introduced to trigger each local exploration, which boosts the convergence with retaining the precision. Empirical studies show that, our analysis scales well to Java benchmarks of significant size, and achieved in average 2.5X speedup in the two-staged analysis framework.
引用
收藏
页码:133 / 149
页数:17
相关论文
共 50 条
  • [1] 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):
  • [2] 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
  • [3] Refinement-based context-sensitive points-to analysis for Java']Java
    Sridharan, Manu
    Bodik, Rastislav
    [J]. ACM SIGPLAN NOTICES, 2006, 41 (06) : 387 - 400
  • [4] Call-Graph-Based Context-Sensitive Points-to Analysis for Java']Java
    Bao, Yulin
    Zhang, Chenyi
    Su, Kaile
    [J]. IEEE TRANSACTIONS ON RELIABILITY, 2024, 73 (02) : 851 - 860
  • [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