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

被引:48
|
作者
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
    [J]. 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
    [J]. 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
    [J]. DIGITAL CONVERGENCE FOR CREATIVE DIVERGENCE, VOL I: TECHNICAL SPEECH SESSIONS, 1999, : 99 - 106
  • [4] Advances in Testing Java']JavaScript-Based Web Applications
    Mesbah, Ali
    [J]. ADVANCES IN COMPUTERS, VOL 97, 2015, 97 : 201 - 235
  • [5] Complementing Java']JavaScript in High-Performance Node.js']js and Web Applications with Rust and WebAssembly
    Kyriakou, Kyriakos-Ioannis D.
    Tselikas, Nikolaos D.
    [J]. ELECTRONICS, 2022, 11 (19)
  • [6] 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
    [J]. BIOINFORMATICS, 2016, 32 (11) : 1740 - 1742
  • [7] JS']JSOPT: A Framework for Optimization of Java']JavaScript on Web Browsers
    Waqas, Muhammad
    Khan, Minhaj Ahmad
    [J]. 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
    [J]. BIOINFORMATICS, 2020, 36 (11) : 3573 - 3575
  • [9] Server-side Web Development with Java']JavaScript and Node.js']js
    Ortiz, Ariel
    [J]. 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
    [J]. PPDP'18: PROCEEDINGS OF THE 20TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, 2018,