<div class="csl-bib-body">
<div class="csl-entry">Chadt, J. (2024). <i>Generating multi-lingual, semantically equivalent fuzzer benchmarks from mazes</i> [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2024.115005</div>
</div>
-
dc.identifier.uri
https://doi.org/10.34726/hss.2024.115005
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/198212
-
dc.description.abstract
Fuzzers sind Werkzeuge zur automatisierten Durchführung von Softwaretests, die unerwartetes oder falsches Verhalten von Software aufdecken, indem diese wiederholt mit verschiedenen Inputs ausgeführt wird. Die Entwicklung von Fuzzern ist ein reger Forschungsbereich und neue Fuzzer und Fuzzingmethoden werden laufend eingeführt; es ist daher wichtig, Stärken und Schwächen verschiedener Fuzzer evaluieren zu können.Es gibt bereits viele verschiedene Fuzzer-Benchmarking Projekte, allerdings vergleichen diese immer Fuzzer einer bestimmten Programmiersprache, was es schwierig macht, Fuzzer verschiedener Sprachen vergleichen zu können. Wir führen Muzzle ein, ein Fuzzer-Benchmarking Werkzeug, das fehlerhafte, semantisch äquivalente C und Solidity Programme generiert. Muzzle evaluiert Fuzzer beider Sprachen mithilfe von Benchmarks aus Programmen, die es generiert. Wir verwenden Muzzle, um einen solchen Benchmark aus Programmen zu generieren und vergleichen damit verschiedene Solidity und C Fuzzer basierend auf ihren Fähigkeiten und ihre Geschwindigkeit, Fehler in den Programmen zu finden. Unsere Ergebnisse zeigen, dass C Fuzzer wesentlich besser als Solidity Fuzzer abschneiden, allerdings gibt es auch innerhalb der Solidity Fuzzer starke Unterschiede.
de
dc.description.abstract
Fuzzers are testing tools which discover unexpected or incorrect behaviour in software applications by repeatedly executing software with different inputs. Development of fuzzers is an active research area and new fuzzers and fuzzing techniques are introduced constantly, therefore it is important to evaluate strengths and weaknesses of different fuzzers. Various fuzzer benchmarking projects already exist, but existing tools only compare fuzzers of a specific programming language, making it hard to tell how fuzzers of different languages compare. We introduce Muzzle, a fuzzer benchmarking tool which generates buggy, semantically equivalent C and Solidity programs. Muzzle evaluates fuzzers of both languages using the programs it generates as a benchmark. We generate a benchmark of programs using Muzzle and evaluate different Solidity and C fuzzers based on their ability and speed in finding bugs. Our results show that C fuzzers one-sidedly outperform Solidity ones, yet even between the evaluated Solidity fuzzers there are stark differences.
en
dc.language
English
-
dc.language.iso
en
-
dc.rights.uri
http://rightsstatements.org/vocab/InC/1.0/
-
dc.subject
fuzz testing
en
dc.subject
smart contract
en
dc.subject
benchmarking
en
dc.subject
testing
en
dc.subject
software security
en
dc.subject
program generation
en
dc.title
Generating multi-lingual, semantically equivalent fuzzer benchmarks from mazes
en
dc.title.alternative
Erzeugung von mehrsprachigen, semantisch äquivalelnten Fuzz-Benchmarks aus Labyrinthen
de
dc.type
Thesis
en
dc.type
Hochschulschrift
de
dc.rights.license
In Copyright
en
dc.rights.license
Urheberrechtsschutz
de
dc.identifier.doi
10.34726/hss.2024.115005
-
dc.contributor.affiliation
TU Wien, Österreich
-
dc.rights.holder
Jana Chadt
-
dc.publisher.place
Wien
-
tuw.version
vor
-
tuw.thesisinformation
Technische Universität Wien
-
tuw.publication.orgunit
E194 - Institut für Information Systems Engineering