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 条
  • [41] Towards path-sensitive points-to analysis
    Gutzmann, Tobias
    Lundberg, Jonas
    Lowe, Welf
    [J]. SEVENTH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2007, : 59 - 68
  • [42] A Java']Java based analysis environment
    Johnson, AS
    [J]. HEPVIS96 WORKSHOP ON VISUALIZATION IN HIGH-ENERGY PHYSICS, 1997, 97 (01): : 145 - 149
  • [43] Parallel Sparse Flow-Sensitive Points-to Analysis
    Zhao, Jisheng
    Burke, Michael G.
    Sarkar, Vivek
    [J]. CC'18: PROCEEDINGS OF THE 27TH INTERNATIONAL CONFERENCE ON COMPILER CONSTRUCTION, 2018, : 59 - 70
  • [44] Symbolic context-bounded analysis of multithreaded java']java programs
    Suwimonteerabuth, Dejvuth
    Esparza, Javier
    Schwoon, Stefan
    [J]. MODEL CHECKING SOFTWARE, PROCEEDINGS, 2008, 5156 : 270 - 287
  • [45] Synthesis and Analysis of Context-Sensitive Languages
    Bravo Pariente, C. A.
    Lima, D. A. C.
    [J]. IEEE LATIN AMERICA TRANSACTIONS, 2016, 14 (03) : 1526 - 1531
  • [46] Incremental and Modular Context-sensitive Analysis
    Garcia-Contreras, Isabel
    Morales, Jose F.
    Hermenegildo, Manuel, V
    [J]. THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2021, 21 (02) : 196 - 243
  • [47] Data-Driven context-Sensitivity for points-to analysis
    Korea University, Korea, Republic of
    [J]. Proc. ACM Program. Lang., OOPSLA
  • [48] Detecting Vulnerable Java']Java Classes Based on the Analysis of Java']Java Library Call Graph
    Park, Hyosung
    Park, Chulwoo
    Yoo, SangBong
    Kim, Kichang
    [J]. 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
  • [49] Context-sensitive synchronization-sensitive analysis is undecidable
    Ramalingam, G
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2000, 22 (02): : 416 - 430
  • [50] Parallel Replication-Based Points-To Analysis
    Putta, Sandeep
    Nasre, Rupesh
    [J]. COMPILER CONSTRUCTION, CC 2012, 2012, 7210 : 61 - 80