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 条
  • [41] Horcrux: Automatic Java']JavaScript Parallelism for Resource-Efficient Web Computation
    Mardani, Shaghayegh
    Goel, Ayush
    Ko, Ronny
    Madhyastha, Harsha, V
    Netravali, Ravi
    PROCEEDINGS OF THE 15TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION (OSDI '21), 2021, : 461 - 477
  • [42] An Empirical Study of the Framework Impact on the Security of Java']JavaScript Web Applications
    Peguero, Ksenia
    Zhang, Nan
    Cheng, Xiuzhen
    COMPANION PROCEEDINGS OF THE WORLD WIDE WEB CONFERENCE 2018 (WWW 2018), 2018, : 753 - 758
  • [43] Toward Analysis and Bug Finding in Java']JavaScript Web Applications in the Wild
    Ryu, Sukyoung
    Park, Jihyeok
    Park, Joonyoung
    IEEE SOFTWARE, 2019, 36 (03) : 74 - 82
  • [44] An Architecture for Enforcing Java']JavaScript Randomization in Web2.0 Applications
    Athanasopoulos, Elias
    Krithinakis, Antonis
    Markatos, Evangelos P.
    INFORMATION SECURITY, 2011, 6531 : 203 - 209
  • [45] Java']JavaScript essentials: Creating interactive Web applications - Manger,J
    Gillespie, T
    LIBRARY JOURNAL, 1996, 121 (20) : 138 - 138
  • [46] Java']JavaScript Offloading for Web Applications in Mobile-Cloud Computing
    Yu, Meihua
    Huang, Gang
    Wang, Xudong
    Zhang, Ying
    Chen, Xiangqun
    2015 IEEE THIRD INTERNATIONAL CONFERENCE ON MOBILE SERVICES MS 2015, 2015, : 269 - 276
  • [47] Dynamic web worker pool management for highly parallel java']javascript web applications
    Verdu, Javier
    Jose Costa, Juan
    Pajuelo, Alex
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2016, 28 (13): : 3525 - 3539
  • [48] From bytecode to Java']JavaScript: the Js']Js_of_ocaml compiler
    Vouillon, Jerome
    Balat, Vincent
    SOFTWARE-PRACTICE & EXPERIENCE, 2014, 44 (08): : 951 - 972
  • [49] Math.js']js: An Advanced Mathematics Library for Java']JavaScript
    de Jong, Jos
    Mansfield, Eric
    COMPUTING IN SCIENCE & ENGINEERING, 2018, 20 (01) : 20 - 32
  • [50] CC-CCjs']js: A Java']JavaScript Web Based Application for Education on Basic Converters
    Seman, L. O.
    Gomes, G.
    Hausmann, R.
    IEEE LATIN AMERICA TRANSACTIONS, 2015, 13 (08) : 2715 - 2722