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
来源
22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014) | 2014年
关键词
!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
相关论文
共 26 条
  • [1] [Anonymous], INT C TOOLS ALG CONS
  • [2] [Anonymous], 2012, ACM QUEUE, DOI DOI 10.1145/2090147.2094081
  • [3] [Anonymous], 2006, TECH REP
  • [4] [Anonymous], 2008, P 8 USENIX C OP SYST
  • [5] areanu C. S. Pas., 2010, IEEE ACM INT C AUT S, P179
  • [6] ARTZI S, 2011, INT C SOFTW ENG ICSE
  • [7] BUGRARA S, 2013, USENIX ANN TECHN C U
  • [8] Symbolic Execution for Software Testing: Three Decades Later
    Cadar, Cristian
    Sen, Koushik
    [J]. COMMUNICATIONS OF THE ACM, 2013, 56 (02) : 82 - 90
  • [9] GHOSH I, 2013, INT C SOFTW ENG ICSE
  • [10] JENSEN C. S, 2013, INT S SOFTW TEST AN