Bachelor Thesis BCLR-2023-38

BibliographyAust, Dominik: The Application of Fuzzing in Software Product Line Testing: Identifying Product-Specific goals for Guiding a Fuzzer based on Variability Models.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Bachelor Thesis No. 38 (2023).
83 pages, english.
Abstract

Fuzz-Testing or Fuzzing is a testing approach based on the semi-random provision of inputs for software systems under test. With specific adaptations, the election of inputs can be manipulated in order to optimize the testing performance. The field of fuzzing features many publications which introduce distinctive fuzzing algorithms optimized for specific products or with general advancements. A Software Product Line (SPL) describes a family of software products which share core properties but consist of diverse configurations and combinations of features. In this thesis, we introduce a process for the analysis and augmentation of variability models of SPLs which allows the product-specific optimization of fuzzing programs for these particular products. We apply the proposal to an examplary SPL and test a product instantiation to evaluate the effectiveness and efficiency of the adapted fuzzer compared to domain-independent fuzzers. Due to the fluctuating results of fuzzing, caused by the semi-randomness of input election, we perform numerous tests examining the minimum-, average- and median amounts of testing rounds, required to find different bugs and the relative rate of success of finding the bugs. The evalution shows that the test results confirm the increased performance of our novel approach in testing instantiations of the particular SPL, when compared to domain-independent approaches.

Department(s)University of Stuttgart, Institute of Software Technology, Empirical Software Engineering
Superviser(s)Wagner, Prof. Stefan; Agh, Dr. Halimeh
Entry dateOctober 23, 2023
New Report   New Article   New Monograph   Computer Science