Automatic fault localization for client-side Java']JavaScript

被引:14
|
作者
Ocariza, Frolin S., Jr. [1 ]
Li, Guanpeng [1 ]
Pattabiraman, Karthik [1 ]
Mesbah, Ali [1 ]
机构
[1] Univ British Columbia, Dept Elect & Comp Engn, Vancouver, BC V5Z 1M9, Canada
来源
基金
加拿大自然科学与工程研究理事会;
关键词
!text type='Java']Java[!/text]Script; fault localization; dynamic slicing; Document Object Model (DOM);
D O I
10.1002/stvr.1576
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
JAVASCRIPT is a scripting language that plays a prominent role in web applications today. It is dynamic, loosely typed and asynchronous and is extensively used to interact with the Document Object Model (DOM) at runtime. All these characteristics make JAVASCRIPT code error-prone; unfortunately, JAVASCRIPT fault localization remains a tedious and mainly manual task. Despite these challenges, the problem has received very limited research attention. This paper proposes an automated technique to localize JAVASCRIPT faults based on dynamic analysis, tracing and backward slicing of JAVASCRIPT code. This technique is capable of handling features of JAVASCRIPT code that have traditionally been difficult to analyse, including eval, anonymous functions and minified code. The approach is implemented in an open source tool called AUTOFLOX, and evaluation results indicate that it is capable of (1) automatically localizing DOM-related JAVASCRIPT faults with high accuracy (over 96%) and no false-positives and (2) isolating JAVASCRIPT faults in production websites and actual bugs from real-world web applications. Copyright (c) 2015John Wiley & Sons, Ltd.
引用
收藏
页码:69 / 88
页数:20
相关论文
共 50 条
  • [1] The effectiveness of client-side Java']JavaScript Testing
    Moon, Jonny
    Farnsworth, Brian
    Smith, Riley
    [J]. 2020 IEEE/ACM 15TH INTERNATIONAL CONFERENCE ON AUTOMATION OF SOFTWARE TEST, AST, 2020, : 101 - 102
  • [2] REST to Java']JavaScript for Better Client-side Development
    Cho, Hyunghun
    Ryu, Sukyoung
    [J]. WWW'14 COMPANION: PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON WORLD WIDE WEB, 2014, : 937 - 942
  • [3] A Study of Causes and Consequences of Client-Side Java']JavaScript Bugs
    Ocariza, Frolin S., Jr.
    Bajaj, Kartik
    Pattabiraman, Karthik
    Mesbah, Ali
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2017, 43 (02) : 128 - 144
  • [4] Efficient and Precise Dynamic Slicing for Client-Side Java']JavaScript Programs
    Ye, Jiabin
    Zhang, Cheng
    Ma, Lei
    Yu, Haibo
    Zhao, Jianjun
    [J]. 2016 IEEE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), VOL 1, 2016, : 449 - 459
  • [5] Detecting Concurrency Errors in Client-side Java']JavaScript Web Applications
    Hong, Shin
    Park, Yongbae
    Kim, Moonzoo
    [J]. 2014 IEEE SEVENTH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2014, : 61 - 70
  • [6] Finding Server-Side Endpoints with Static Analysis of Client-Side Java']JavaScript
    Sigalov, Daniil
    Gamayunov, Dennis
    [J]. COMPUTER SECURITY. ESORICS 2023 INTERNATIONAL WORKSHOPS, CPS4CIP, PT II, 2024, 14399 : 442 - 458
  • [7] Server-Side Type Profiling for Optimizing Client-Side Java']JavaScript Engines
    Kedlaya, Madhukar N.
    Robatmili, Behnam
    Hardekopf, Ben
    [J]. ACM SIGPLAN NOTICES, 2016, 51 (02) : 140 - 153
  • [8] An empirical study of client-side JavaScript bugs
    Ocariza Jr., Frolin
    Bajaj, Kartik
    Pattabiraman, Karthik
    Mesbah, Ali
    [J]. International Symposium on Empirical Software Engineering and Measurement, 2013, : 55 - 64
  • [9] Automated Refactoring of Client-Side Java']JavaScript Code to ES6 Modules
    Paltoglou, Aikaterini
    Zafeiris, Vassilis E.
    Giakoumakis, E. A.
    Diamantidis, N. A.
    [J]. 2018 25TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2018), 2018, : 402 - 412
  • [10] Selective Just-in-Time Compilation for Client-side Mobile Java']JavaScript Engine
    Lee, Seong-Won
    Moon, Soo-Mook
    [J]. PROCEEDINGS OF THE PROCEEDINGS OF THE 14TH INTERNATIONAL CONFERENCE ON COMPILERS, ARCHITECTURES AND SYNTHESIS FOR EMBEDDED SYSTEMS (CASES '11), 2011, : 5 - 13