SymJS']JS: Automatic Symbolic Testing of Java']JavaScript Web Applications

被引:51
|
作者
Li, Guodong [1 ]
Andreasen, Esben [2 ]
Ghosh, Indradeep [1 ]
机构
[1] Fujitsu Labs Amer, Sunnyvale, CA USA
[2] Aarhus Univ, Dept Comp Sci, Aarhus, Denmark
关键词
!text type='Java']Java[!/text]Script; Web; Symbolic Execution; Automatic Software Testing; Event Sequence; Taint Analysis; EXECUTION;
D O I
10.1145/2635868.2635913
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present SymJS, a comprehensive framework for automatic testing of client-side JavaScript Web applications. The tool contains a symbolic execution engine for JavaScript, and an automatic event explorer for Web pages. Without any user intervention, SymJS can automatically discover and explore Web events, symbolically execute the associated JavaScript code, refine the execution based on dynamic feedbacks, and produce test cases with high coverage. The symbolic engine contains a symbolic virtual machine, a string-numeric solver, and a symbolic executable DOM model. SymJS's innovations include a novel symbolic virtual machine for JavaScript Web, symbolic+dynamic feedback directed event space exploration, and dynamic taint analysis for enhancing event sequence construction. We illustrate the effectiveness of SymJS on standard JavaScript benchmarks and various real-life Web applications. On average SymJS achieves over 90% line coverage for the benchmark programs, significantly outperforming existing methods.
引用
收藏
页码:449 / 459
页数:11
相关论文
共 50 条
  • [1] Guided Mutation Testing for Java']JavaScript Web Applications
    Mirshokraie, Shabnam
    Mesbah, Ali
    Pattabiraman, Karthik
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (05) : 429 - 444
  • [2] A Framework for Automated Testing of Java']JavaScript Web Applications
    Artzi, Shay
    Dolby, Julian
    Jensen, Simon Holm
    Moller, Anders
    Tip, Frank
    2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 571 - 580
  • [3] JS']JS Comm: A networking mechanism collaborative applications for Java']JavaScript-based on the Web
    Furui, Y
    DIGITAL CONVERGENCE FOR CREATIVE DIVERGENCE, VOL I: TECHNICAL SPEECH SESSIONS, 1999, : 99 - 106
  • [4] Advances in Testing Java']JavaScript-Based Web Applications
    Mesbah, Ali
    ADVANCES IN COMPUTERS, VOL 97, 2015, 97 : 201 - 235
  • [5] BioCircos.js']js: an interactive Circos Java']JavaScript library for biological data visualization on web applications
    Cui, Ya
    Chen, Xiaowei
    Luo, Huaxia
    Fan, Zhen
    Luo, Jianjun
    He, Shunmin
    Yue, Haiyan
    Zhang, Peng
    Chen, Runsheng
    BIOINFORMATICS, 2016, 32 (11) : 1740 - 1742
  • [6] Complementing Java']JavaScript in High-Performance Node.js']js and Web Applications with Rust and WebAssembly
    Kyriakou, Kyriakos-Ioannis D.
    Tselikas, Nikolaos D.
    ELECTRONICS, 2022, 11 (19)
  • [7] JS']JSOPT: A Framework for Optimization of Java']JavaScript on Web Browsers
    Waqas, Muhammad
    Khan, Minhaj Ahmad
    MEHRAN UNIVERSITY RESEARCH JOURNAL OF ENGINEERING AND TECHNOLOGY, 2018, 37 (01) : 95 - 104
  • [8] LogoJS']JS: a Java']Javascript package for creating sequence logos and embedding them in web applications
    Pratt, Henry
    Weng, Zhiping
    BIOINFORMATICS, 2020, 36 (11) : 3573 - 3575
  • [9] Server-side Web Development with Java']JavaScript and Node.js']js
    Ortiz, Ariel
    PROCEEDINGS OF THE 45TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE'14), 2014, : 747 - 747
  • [10] Symbolic Execution for Java']JavaScript
    Santos, Jose Fragoso
    Maksimovic, Petar
    Grohens, Theotime
    Dolby, Julian
    Gardner, Philippa
    PPDP'18: PROCEEDINGS OF THE 20TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, 2018,