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

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

167 Downloads (Pure)

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.
Original languageEnglish
Title of host publicationThe 35th IEEE/ACM International Conference on Automated Software Engineering (ASE 2020)
PublisherACM/IEEE
Pages1224-1228
ISBN (Electronic)978-1-4503-6768-4, 978-1-7281-7281-1
DOIs
Publication statusPublished - 2020
Event35th IEEE/ACM
International Conference on Automated Software Engineering (ASE ’20),
-
Duration: 21 Sep 202025 Sep 2020
Conference number: 35

Conference

Conference35th IEEE/ACM
International Conference on Automated Software Engineering (ASE ’20),
Abbreviated titleASE ’20
Period21/09/2025/09/20
OtherVirtual/online event due to COVID-19

Keywords

  • search-based software testing
  • test case generation
  • grammar-based fuzzing
  • unit testing

Fingerprint Dive into the research topics of 'Generating Highly-structured Input Data by Combining Search-based Testing and Grammar-based Fuzzing'. Together they form a unique fingerprint.

Cite this