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 条
  • [41] Exception Analysis and Points-to Analysis: Better Together
    Bravenboer, Martin
    Smaragdakis, Yannis
    [J]. ISSTA 2009: INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2009, : 1 - 11
  • [42] Points-to Analysis as a System of Linear Equations
    Nasre, Rupesh
    Govindarajan, Ramaswamy
    [J]. STATIC ANALYSIS, 2010, 6337 : 422 - 438
  • [43] Aspect-Aware Points-to Analysis
    Sun, Qiang
    Zhao, Jianjun
    [J]. EIGHTH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2008, : 143 - 152
  • [44] Points-To Analysis with Efficient Strong Updates
    Lhotak, Ondrej
    Chung, Kwok-Chiang Andrew
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (01) : 3 - 15
  • [45] Points-To Analysis with Efficient Strong Updates
    Lhotak, Ondrej
    Chung, Kwok-Chiang Andrew
    [J]. POPL 11: PROCEEDINGS OF THE 38TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2011, : 3 - 15
  • [46] Points-to analysis using BDDs.
    Berndl, M
    Lhoták, O
    Qian, F
    Hendren, L
    Umanee, N
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (05) : 103 - 114
  • [47] Using XBDDs and ZBDDs in points-to analysis
    Lhotak, Ondrej
    Curial, Stephen
    Amaral, Jose Nelson
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2009, 39 (02): : 163 - 188
  • [48] Prioritizing Constraint Evaluation for Efficient Points-to Analysis
    Nasre, Rupesh
    Govindarajan, R.
    [J]. 2011 9TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO), 2011, : 267 - 276
  • [49] Points-to analysis for partial call graph construction
    College of Computer Science and Technology, Zhejiang University, Hangzhou
    310027, China
    [J]. Zhejiang Daxue Xuebao (Gongxue Ban), 6 (1031-1040):
  • [50] Extending and evaluating flow-insensitive and context-insensitive points-to analyses for Java']Java
    Liang, DL
    Pennings, M
    Harrold, MJ
    [J]. ACM SIGPLAN NOTICES, 2001, : 73 - 79