<div class="csl-bib-body">
<div class="csl-entry">Pilz, S. (2023). <i>Improving rust mutation testing using static and dynamic program analysis</i> [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2023.110084</div>
</div>
-
dc.identifier.uri
https://doi.org/10.34726/hss.2023.110084
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/188297
-
dc.description.abstract
Mutation testing is a powerful software testing method in which the program under test is seeded with artificial faults that are considered to be possible programming errors and should be discovered by a high-quality test suite. The cost of mutation testing is one of the most critical issues for its practical applications. In this thesis, we present the tool `muttest` for mutation analysis of Rust programs that improves quality and performance of mutation analysis compared to related systems. This thesis proposes several methods for leveraging Rust language features and results of static analysis to implement mutation operators while preventing the generation of invalid mutations. Moreover, dynamic program analysis is used to perform weak mutation analysis and its results are utilized to improve the performance of strong mutation analysis. By relying only on stable features of Rust, we ensure best-possible compatibility of `muttest` with future versions of Rust. The experimental evaluation in this thesis shows that `muttest` has competitive performance and produces a high-quality mutation analysis report.
en
dc.description.abstract
Mutationstesten ist eine mächtiger Prozess um Software zu testen. Dabei wird das Zielprogramm mit künstlichen Fehlern versehen, die als mögliche Programmierfehler angenommen werden und die durch qualitativ hochwertige Testfälle entdeckt werden sollten. Die Kosten des Mutationstestens sind einer der kritischsten Eigenschaften, welche die praktische Anwendung erschwert. In dieser Arbeit stellen wir das Tool `muttest` für Mutationsanalyse von Rust Programmen vor, das die Qualität und Performanz von Mutationsanalyse von vergleichbaren Systemen übertrifft. Diese Arbeit stellt einige Techniken vor wie Sprachfeatures von Rust sowie die Ergebnisse von statischer Programmanalyse dazu verwendet werden Mutationsoperatoren zu implementieren, die keine ungültigen Mutationen generieren. Außerdem wird dynamische Programmanalyse dafür verwendet schwache Mutationsanalyse durchzuführen. Diese Ergebnisse werden wiederum dafür eingesetzt die Laufzeit von starker Mutationsanalyse zu verbessern. Durch die Einschränkung auf stabile Sprachfeatures von Rust, stellen wir optimale Kompatibilität von `muttest` mit zukünftigen Versionen von Rust sicher. Die experimentelle Evaluation dieser Arbeit zeigt, dass `muttest` konkurrenzfähige Laufzeit aufweist und einen qualitativ hochwertigen Mutationsanalysebericht liefert.
de
dc.language
English
-
dc.language.iso
en
-
dc.rights.uri
http://rightsstatements.org/vocab/InC/1.0/
-
dc.subject
software correctness
en
dc.subject
software testing
en
dc.subject
mutation testing
en
dc.subject
weak and strong mutation analysis
en
dc.subject
static and dynamic program analysis
en
dc.subject
Rust
en
dc.title
Improving rust mutation testing using static and dynamic program analysis
en
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.2023.110084
-
dc.contributor.affiliation
TU Wien, Österreich
-
dc.rights.holder
Samuel Pilz
-
dc.publisher.place
Wien
-
tuw.version
vor
-
tuw.thesisinformation
Technische Universität Wien
-
tuw.publication.orgunit
E194 - Institut für Information Systems Engineering
-
dc.type.qualificationlevel
Diploma
-
dc.identifier.libraryid
AC16944494
-
dc.description.numberOfPages
54
-
dc.thesistype
Diplomarbeit
de
dc.thesistype
Diploma Thesis
en
tuw.author.orcid
0009-0006-3810-2725
-
dc.rights.identifier
In Copyright
en
dc.rights.identifier
Urheberrechtsschutz
de
tuw.advisor.staffStatus
staff
-
item.fulltext
with Fulltext
-
item.openairecristype
http://purl.org/coar/resource_type/c_bdcc
-
item.languageiso639-1
en
-
item.cerifentitytype
Publications
-
item.openaccessfulltext
Open Access
-
item.mimetype
application/pdf
-
item.openairetype
master thesis
-
item.grantfulltext
open
-
crisitem.author.dept
E194-01 - Forschungsbereich Information und Software Engineering
-
crisitem.author.orcid
0009-0006-3810-2725
-
crisitem.author.parentorg
E194 - Institut für Information Systems Engineering