Grammar-Based Evolutionary Fuzzing for JSON-RPC APIs

Conference Paper (2023)
Author(s)

L.S. Veldkamp (Student TU Delft)

Mitchell Olsthoorn (TU Delft - Software Engineering)

A. Panichella (TU Delft - Software Engineering)

Research Group
Software Engineering
Copyright
© 2023 L.S. Veldkamp, Mitchell Olsthoorn, A. Panichella
DOI related publication
https://doi.org/10.1109/SBFT59156.2023.00026
More Info
expand_more
Publication Year
2023
Language
English
Copyright
© 2023 L.S. Veldkamp, Mitchell Olsthoorn, A. Panichella
Research Group
Software Engineering
Pages (from-to)
33-36
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Web Application Programming Interfaces (APIs) allow systems to be addressed programmatically and form the backbone of the internet. RESTful and RPC APIs are among the most common API architectures used. In the last decades, researchers have proposed various techniques for automated testing of RESTful APIs, however, to the best of the authors' knowledge there exists no work on testing JSON-RPC (one of the two data formats supported by RPC) APIs. To address this limitation, we propose a grammar-based evolutionary fuzzing approach for testing JSON-RPC APIs that uses a novel black-box heuristic. Specifically, we use a diversity-based fitness function based on hierarchical clustering to quantity the differences in API method responses. Our hypothesis is that responses that are unlike previously seen ones are an indication that new uncovered code paths are reached. We evaluate our approach on the XRP ledger, a large-scale industrial blockchain system that uses JSON-RPC APIs. Our results show that the proposed approach performs significantly better than the baseline (grammar-based fuzzer) and covers an additional 240 branches.

Files

Grammar_Based_Evolutionary_Fuz... (pdf)
(pdf | 0.279 Mb)
- Embargo expired in 05-02-2024
License info not available