Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-13689
Autor(en): Aust, Dominik
Titel: The application of fuzzing in Software Product Line testing : identifying product-specific goals for guiding a fuzzer based on variability models
Erscheinungsdatum: 2023
Dokumentart: Abschlussarbeit (Bachelor)
Seiten: 79
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-137086
http://elib.uni-stuttgart.de/handle/11682/13708
http://dx.doi.org/10.18419/opus-13689
Zusammenfassung: 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 \gls{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.
Fuzz-Testing oder Fuzzing ist ein Testansatz, der auf der semi-zufälligen Bereitstellung von Eingaben für zu testende Software-Systeme basiert. Durch spezifische Anpassungen kann die Auswahl der Eingaben beeinflusst werden, um die Performanz zu optimieren. Veröffentlichungen in diesem Gebiet stellen zahlreiche Fuzzing-Algorithmen vor, die für spezifische Produkte optimiert sind oder allgemeine Verbesserungen aufweisen. Eine Software-Produktlinie (SPL) beschreibt eine Familie von Softwareprodukten, die gemeinsame Kernmerkmale teilen, aber aus verschiedenen Konfigurationen und Kombinationen von Funktionen bestehen. In dieser Arbeit stellen wir einen Prozess zur Analyse und Erweiterung von Variabilitätsmodellen von SPLs vor, welcher die produktspezifische Optimierung von Fuzzing-Programmen für enthaltene Produkte ermöglicht. Wir wenden unseren Prozess auf eine beispielhafte SPL an und testen eine Produktinstanz, um die Effektivität und Effizienz des angepassten Fuzzers im Vergleich zu domänenunabhängigen Fuzzern zu bewerten. Variable Ergebnisse des Fuzzings, die durch den Zufallsfaktor in der Eingabenauswahl entstehen, erfordern die Durchführung mehrerer Tests. Die Vergleichskriterien sind die minimale-, durchschnittliche- und der Median der Anzahl von Testrunden, die erforderlich sind, um verschiedene Fehler zu finden, sowie die relative Erfolgsrate des Auffindens von Fehlern. Die Auswertung der Testergebnisse bestätigt die erhöhte Performanz unseres Prozesses beim Testen von Instanzierungen der zugrundeliegenden SPL, verglichen mit den domänenunabhängigen Ansätzen.
Enthalten in den Sammlungen:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
Bachelor_Thesis_Aust.pdf6,58 MBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.