Improving Precision of Java']JavaScript Program Analysis with an Extended Domain of Intervals

被引:3
|
作者
Younang, Astrid [1 ]
Lu, Lunjin [1 ]
机构
[1] Oakland Univ, Comp Sci & Engn Dept, Rochester Hills, MI 48309 USA
来源
IEEE 39TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE WORKSHOPS (COMPSAC 2015), VOL 3 | 2015年
关键词
!text type='Java']Java[!/text]Script; static analysis; abstract interpretation; numeric abstract domain; interval analysis;
D O I
10.1109/COMPSAC.2015.175
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The Abstract Interpretation has been a promising approach for static analysis of JavaScript programs. Static analysis is used for security auditing, debugging, optimization and error checking. JavaScript is dynamically typed, uses prototype-based inheritance and first class functions. It supports reflective calls, access to object fields and allows object fields to be dynamically added and deleted. These dynamic features make JavaScript flexible to use. At the same time, they make JavaScript applications more susceptible to programming errors. The challenge that comes with the analysis of such programs is the design of abstract domains that will precisely track properties of interest without affecting performance. This paper presents our work on improving analysis precision of JavaScript programs. We used an extended domain of intervals to track ranges of numeric values of variables. This is the first time interval domain has been applied to the analysis of the full JavaScript language. We implemented the new abstract domain within a JavaScript abstract interpreter. Our experiments show that the new abstract domain enables the abstract interpreter to infer more precise type information for most of the benchmark programs and strikes a good balance between analysis precision and cost. While the analysis of some benchmarks take more time as expected, some other benchmarks actually take less time.
引用
收藏
页码:441 / 446
页数:6
相关论文
共 34 条
  • [1] Precise String Domain for Analyzing Java']JavaScript Arrays and Objects
    Almashfi, Nabil
    Lu, Lunjin
    2020 3RD INTERNATIONAL CONFERENCE ON INFORMATION AND COMPUTER TECHNOLOGIES (ICICT 2020), 2020, : 17 - 23
  • [2] Conventionality Analysis of Array Objects in Java']JavaScript
    Younang, Astrid
    Lu, Lunjin
    2017 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2017, : 561 - 562
  • [3] Precise String Analysis for Java']JavaScript Programs Using Automata
    Almashfi, Nabil
    Lu, Lunjin
    Picker, Koby
    Maldonado, Christian
    2019 8TH INTERNATIONAL CONFERENCE ON SOFTWARE AND COMPUTER APPLICATIONS (ICSCA 2019), 2019, : 159 - 166
  • [4] JS']JSOptimizer: An Extensible Framework for Java']JavaScript Program Optimization
    Liu, Yi
    2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2019), 2019, : 168 - 170
  • [5] Type Refinement for Static Analysis of Java']JavaScript
    Kashyap, Vineeth
    Sarracino, John
    Wagner, John
    Wiedermann, Ben
    Hardekopf, Ben
    ACM SIGPLAN NOTICES, 2014, 49 (02) : 17 - 26
  • [6] Weakly sensitive analysis for Java']JavaScript object-manipulating programs
    Ko, Yoonseok
    Rival, Xavier
    Ryu, Sukyoung
    SOFTWARE-PRACTICE & EXPERIENCE, 2019, 49 (05): : 840 - 884
  • [7] A Software Tool for Floating Point Interval Analysis with Improved Precision for Java']Javascript-based Medical Applications
    Alghamdi, Khalid
    Almashfi, Nabil
    Ming, Hua
    PROCEEDINGS 2016 IEEE 40TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE WORKSHOPS (COMPSAC), VOL 2, 2016, : 659 - 662
  • [8] Purity analysis for Java']JavaScript through abstract interpretation
    Nicolay, Jens
    Stievenart, Quentin
    De Meuter, Wolfgang
    De Roover, Coen
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2017, 29 (12)
  • [9] JS']JSAI: A Static Analysis Platform for Java']JavaScript
    Kashyap, Vineeth
    Dewey, Kyle
    Kuefner, Ethan A.
    Wagner, John
    Gibbons, Kevin
    Sarracino, John
    Wiedermann, Ben
    Hardekopf, Ben
    22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, : 121 - 132
  • [10] Analysis of Java']JavaScript Programs: Challenges and Research Trends
    Sun, Kwangwon
    Ryu, Sukyoung
    ACM COMPUTING SURVEYS, 2017, 50 (04)