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 条
  • [21] Efficient Static Vulnerability Analysis for Java']JavaScript with Multiversion Dependency Graphs
    Ferreira, Mafalda
    Monteiro, Miguel
    Brito, Tiago
    Coimbra, Miguel E.
    Santos, Nuno
    Jia, Limin
    Fragoso Santos, Jose
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (PLDI):
  • [22] Battles with False Positives in Static Analysis of Java']JavaScript Web Applications in the Wild
    Park, Joonyoung
    Lim, Inho
    Ryu, Sukyoung
    2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C), 2016, : 61 - 70
  • [23] Improving the Security of Downloadable Java']Java Applications With Static Analysis
    Cregut, Pierre
    Alvarado, Cuihtlauac
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 141 (01) : 129 - 144
  • [24] Eval Is Evil: Analyzing Performance of Web Applications Based on PHP and Java']JavaScript by Static Analysis
    Shah, Nilay
    Gubbala, Praveen
    COMPUTING AND NETWORK SUSTAINABILITY, 2017, 12 : 109 - 117
  • [25] Static Analysis of Event-Driven Node.js']js Java']JavaScript Applications
    Madsen, Magnus
    Tip, Frank
    Lhotak, Ondrej
    ACM SIGPLAN NOTICES, 2015, 50 (10) : 505 - 519
  • [26] Finding Server-Side Endpoints with Static Analysis of Client-Side Java']JavaScript
    Sigalov, Daniil
    Gamayunov, Dennis
    COMPUTER SECURITY. ESORICS 2023 INTERNATIONAL WORKSHOPS, CPS4CIP, PT II, 2024, 14399 : 442 - 458
  • [27] Study of Java']JavaScript Static Analysis Tools for Vulnerability Detection in Node.js']js Packages
    Brito, Tiago
    Ferreira, Mafalda
    Monteiro, Miguel
    Lopes, Pedro
    Barros, Miguel
    Santos, Jose Fragoso
    Santos, Nuno
    IEEE TRANSACTIONS ON RELIABILITY, 2023, 72 (04) : 1324 - 1339
  • [28] Combined static and dynamic immutability analysis of java program
    Yu L.-Q.
    Wang L.-Z.
    Lei B.
    Zhao J.-H.
    Li X.-D.
    Jisuanji Xuebao/Chinese Journal of Computers, 2010, 33 (04): : 736 - 746
  • [29] Improving the results of program analysis by abstract interpretation beyond the decreasing sequence
    Boutonnet, Remy
    Halbwachs, Nicolas
    FORMAL METHODS IN SYSTEM DESIGN, 2018, 53 (03) : 384 - 406
  • [30] DETECTING SERVER-SIDE ENDPOINTS IN WEB APPLICATIONS BASED ON STATIC ANALYSIS OF CLIENT-SIDE Java']JavaScript CODE
    Sigalov, D. A.
    Khashaev, A. A.
    Gamayunov, D. Yu.
    PRIKLADNAYA DISKRETNAYA MATEMATIKA, 2021, (53): : 32 - 54