Search-Based Fuzzing For RESTful APIs That Use MongoDB

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Ghianni, Hernan, Zhang, Man, Galeotti, Juan P., Arcuri, Andrea
Formato: Preprint
Publicado: 2025
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866912505562923008
author Ghianni, Hernan
Zhang, Man
Galeotti, Juan P.
Arcuri, Andrea
author_facet Ghianni, Hernan
Zhang, Man
Galeotti, Juan P.
Arcuri, Andrea
contents In RESTful APIs, interactions with a database are a common and crucial aspect. When generating whitebox tests, it is essential to consider the database's state (i.e., the data contained in the database) to achieve higher code coverage and uncover more hidden faults. This article presents novel techniques to enhance search-based software test generation for RESTful APIs interacting with NoSQL databases. Specifically, we target the popular MongoDB database, by dynamically analyzing (via automated code instrumentation) the state of the database during the test generation process. Additionally, to achieve better results, our novel approach allows inserting NoSQL data directly from test cases. This is particularly beneficial when generating the correct sequence of events to set the NoSQL database in an appropriate state is challenging or time-consuming. This method is also advantageous for testing read-only microservices. Our novel techniques are implemented as an extension of EvoMaster, the only open-source tool for white-box fuzzing RESTful APIs. Experiments conducted on six RESTful APIs demonstrated significant improvements in code coverage, with increases of up to 18% compared to existing white-box approaches. To better highlight the improvements of our novel techniques, comparisons are also carried out with four state-of-the-art black-box fuzzers.
format Preprint
id arxiv_https___arxiv_org_abs_2507_20848
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Search-Based Fuzzing For RESTful APIs That Use MongoDB
Ghianni, Hernan
Zhang, Man
Galeotti, Juan P.
Arcuri, Andrea
Software Engineering
Databases
In RESTful APIs, interactions with a database are a common and crucial aspect. When generating whitebox tests, it is essential to consider the database's state (i.e., the data contained in the database) to achieve higher code coverage and uncover more hidden faults. This article presents novel techniques to enhance search-based software test generation for RESTful APIs interacting with NoSQL databases. Specifically, we target the popular MongoDB database, by dynamically analyzing (via automated code instrumentation) the state of the database during the test generation process. Additionally, to achieve better results, our novel approach allows inserting NoSQL data directly from test cases. This is particularly beneficial when generating the correct sequence of events to set the NoSQL database in an appropriate state is challenging or time-consuming. This method is also advantageous for testing read-only microservices. Our novel techniques are implemented as an extension of EvoMaster, the only open-source tool for white-box fuzzing RESTful APIs. Experiments conducted on six RESTful APIs demonstrated significant improvements in code coverage, with increases of up to 18% compared to existing white-box approaches. To better highlight the improvements of our novel techniques, comparisons are also carried out with four state-of-the-art black-box fuzzers.
title Search-Based Fuzzing For RESTful APIs That Use MongoDB
topic Software Engineering
Databases
url https://arxiv.org/abs/2507.20848