Skip to main navigation Skip to search Skip to main content

JavaScript SBST Heuristics to Enable Effective Fuzzing of NodeJS Web APIs

  • Kristiania University College

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish
Article number139
JournalACM Transactions on Software Engineering and Methodology
Volume32
Issue number6
DOIs
StatePublished - 28 Sep 2023
Externally publishedYes

Keywords

  • Babel
  • JavaScript instrumentation
  • NodeJS
  • SBST
  • fuzzer
  • white-box test generation

Fingerprint

Dive into the research topics of 'JavaScript SBST Heuristics to Enable Effective Fuzzing of NodeJS Web APIs'. Together they form a unique fingerprint.

Cite this