Generating Highly-structured Input Data by Combining Search-based Testing and Grammar-based Fuzzing

Conference Paper (2020)
Author(s)

Mitchell Olsthoorn (TU Delft - Software Engineering)

A. Deursen (TU Delft - Software Technology)

Annibale Panichella (TU Delft - Software Engineering)

Research Group
Software Engineering
Copyright
© 2020 Mitchell Olsthoorn, A. van Deursen, A. Panichella
DOI related publication
https://doi.org/10.1145/3324884.3418930
More Info
expand_more
Publication Year
2020
Language
English
Copyright
© 2020 Mitchell Olsthoorn, A. van Deursen, A. Panichella
Research Group
Software Engineering
Pages (from-to)
1224-1228
ISBN (print)
978-1-4503-6768-4
ISBN (electronic)
9781450367684
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

Software testing is an important and time-consuming task that is often done manually. In the last decades, researchers have come up with techniques to generate input data (e.g., fuzzing) and automate the process of generating test cases (e.g., search-based testing). However, these techniques are known to have their own limitations: search-based testing does not generate highly-structured data; grammar-based fuzzing does not generate test case structures. To address these limitations, we combine these two techniques. By applying grammar-based mutations to the input data gathered by the search-based testing algorithm, it allows us to co-evolve both aspects of test case generation. We evaluate our approach, called G-EvoSuite, by performing an empirical study on 20 Java classes from the three most popular JSON parsers across multiple search budgets. Our results show that the proposed approach on average improves branch coverage for JSON related classes by 15% (with a maximum increase of 50%) without negatively impacting other classes.

Files

ASE_2020_Pure.pdf
(pdf | 0.655 Mb)
License info not available