JavaScript SBST Heuristics to Enable Effective Fuzzing of NodeJS Web APIs
Peer reviewed, Journal article
Published version
Permanent lenke
https://hdl.handle.net/11250/3105316Utgivelsesdato
2023Metadata
Vis full innførselSamlinger
Originalversjon
ACM Transactions on Software Engineering and Methodology. 2023, 32 (6), . 10.1145/3593801Sammendrag
JavaScript is one of the most popular programming languages. However, its dynamic nature poses several challenges to automated testing techniques. In this paper, we propose an approach and open-source tool support to enable white-box testing of JavaScript applications using Search-Based Software Testing (SBST) techniques. We provide an automated approach to collect search-based heuristics like the common Branch Distance and to enable Testability Transformations. To empirically evaluate our results, we integrated our technique into the EvoMaster test generation tool, and carried out analyses on the automated system testing of RESTful and GraphQL APIs. Experiments on eight Web APIs running on NodeJS show that our technique leads to significantly better results than existing black-box and grey-box testing tools, in terms of code coverage and fault detection.