Correlation Tracking for Points-To Analysis of Java']JavaScript

被引:0
|
作者
Sridharan, Manu [1 ]
Dolby, Julian [1 ]
Chandra, Satish [1 ]
Schaefer, Max [1 ]
Tip, Frank [1 ]
机构
[1] IBM TJ Watson Res Ctr, Yorktown Hts, NY USA
来源
关键词
Points-to analysis; call graph construction; !text type='Java']Java[!/text]Script; !text type='JAVA']JAVA[!/text;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
JavaScript poses significant challenges for points-to analysis, particularly due to its flexible object model in which object properties can be created and deleted at run-time and accessed via first-class names. These features cause an increase in the worst-case running time of field-sensitive Andersen-style analysis, which becomes O(N-4), where N is the program size, in contrast to the O(N-3) bound for languages like Java. In practice, we found that a standard implementation of the analysis was unable to analyze popular JavaScript frameworks. We identify correlated dynamic property accesses as a common code pattern that is analyzed very imprecisely by the standard analysis, and show how a novel correlation tracking technique enables us to handle this pattern more precisely, thereby making the analysis more scalable. In an experimental evaluation, we found that correlation tracking often dramatically improved analysis scalability and precision on popular JavaScript frameworks, though in some cases scalability challenges remain.
引用
收藏
页码:435 / 458
页数:24
相关论文
共 50 条
  • [1] Points-to Analysis for Context-Oriented Java']JavaScript Programs
    Cardenas, Sergio
    Leger, Paul
    Fukuda, Hiroaki
    Cardozo, Nicolas
    [J]. PROCEEDINGS OF THE 25TH ACM INTERNATIONAL WORKSHOP ON FORMAL TECHNIQUES FOR JAVA-LIKE PROGRAMS, FTFJP 2023, 2023, : 18 - 24
  • [2] State-Sensitive Points-to Analysis for the Dynamic Behavior of Java']JavaScript Objects
    Wei, Shiyi
    Ryder, Barbara G.
    [J]. ECOOP 2014 - OBJECT-ORIENTED PROGRAMMING, 2014, 8586 : 1 - 26
  • [3] Probabilistic Points-to Analysis for Java']Java
    Sun, Qiang
    Zhao, Jianjun
    Chen, Yuting
    [J]. COMPILER CONSTRUCTION, 2011, 6601 : 62 - +
  • [4] Scaling Java']Java points-to analysis using SPARK
    Lhoták, O
    Hendren, L
    [J]. COMPILER CONSTRUCTION, PROCEEDINGS, 2003, 2622 : 153 - 169
  • [5] Demand-driven points-to analysis for Java']Java
    Sridharan, M
    Gopan, D
    Shan, L
    Bodík, R
    [J]. ACM SIGPLAN NOTICES, 2005, 40 (10) : 59 - 76
  • [6] Points-to analysis for Java']Java using annotated constraints
    Rountev, A
    Milanova, A
    Ryder, BG
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (11) : 43 - 55
  • [7] Complexity of points-to analysis of Java']Java in the presence of exceptions
    Chatterjee, R
    Ryder, BG
    Landi, WA
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2001, 27 (06) : 481 - 512
  • [8] Parameterized object sensitivity for points-to analysis for Java']Java
    Milanova, A
    Rountev, A
    Ryder, BG
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2005, 14 (01) : 1 - 41
  • [9] Incremental Points-to Analysis for Java']Java via Edit Propagation
    Chen, Yuting
    Shi, Qiuwei
    Miao, Weikai
    [J]. STRUCTURED OBJECT-ORIENTED FORMAL LANGUAGE AND METHOD, 2015, 8979 : 164 - 178
  • [10] 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