<div class="csl-bib-body">
<div class="csl-entry">Fleischmann, M. (2024). <i>Automated soundness testing of program analyzers</i> [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2024.109940</div>
</div>
-
dc.identifier.uri
https://doi.org/10.34726/hss.2024.109940
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/195850
-
dc.description
Zusammenfassung in deutscher Sprache
-
dc.description.abstract
Program analyzers are commonly used to ensure that programs do not contain errors. Cases where they miss an error (soundness bugs), are therefore especially critical. Past techniques for testing program analyzers have either relied on differential testing, or focused mainly on precision issues. We present a technique that generates unsafe programs using satisfiable SMT formulas. These can be used to test soundness of program analyzers in an automated fashion, without the need for differential testing. In order to test the technique, we implemented it in a tool called Minotaur, and used it to look for soundness bugs in 8 state-of-the-art program analyzers. We found bugs in 5 of the tools, which we explain and categorize in order to analyze the types of bugs our technique can find.
en
dc.description.abstract
Programmanalysestools werden häufig eingesetzt, um sicherzustellen, dass Programme fehlerfrei sind. Fälle, in denen diese Tools mögliche Fehler übersehen (Fehlschlüsse), sind daher besonders kritisch. Frühere Methoden, Programmanalysetools zu testen, verließen sich auf entweder auf differentielles Testen, oder testeten hauptsächlich die Genauigkeit dieser Tools. Wir präsentieren einen Ansatz, der es ermöglicht fehlerhafte Programme mit Hilfe von erfüllbaren SMT Formeln zu generieren. Diese Programme eignen sich wiederum um automatisiert zu testen, ob Programanalysetools mögliche Fehler erkennen, ohne dass dadurch differentielles testen erforderlich wird. Um zu prüfen, ob unser Ansatz Fehlschlüsse findet, implementierten wir ihn in einem Tool namens Minotaur und verwendeten dieses, um Fehler in 8 moderne Programanalysetools zu suchen. Über die letzten 9 Monaten haben wir Fehlschlüsse in 5 dieser Tools gefunden. Wir erklären und kategorisieren diese, um zu verstehen welche Art von Fehlern unsere Technik finden kann.
de
dc.language
English
-
dc.language.iso
en
-
dc.rights.uri
http://rightsstatements.org/vocab/InC/1.0/
-
dc.subject
program analysis
en
dc.subject
automated testing
en
dc.subject
soundness
en
dc.subject
SMT
en
dc.title
Automated soundness testing of program analyzers
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.2024.109940
-
dc.contributor.affiliation
TU Wien, Österreich
-
dc.rights.holder
Markus Fleischmann
-
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
AC17112381
-
dc.description.numberOfPages
42
-
dc.thesistype
Diplomarbeit
de
dc.thesistype
Diploma Thesis
en
dc.rights.identifier
In Copyright
en
dc.rights.identifier
Urheberrechtsschutz
de
tuw.advisor.staffStatus
staff
-
tuw.advisor.orcid
0000-0002-2649-1958
-
item.languageiso639-1
en
-
item.openairetype
master thesis
-
item.openairecristype
http://purl.org/coar/resource_type/c_bdcc
-
item.grantfulltext
open
-
item.cerifentitytype
Publications
-
item.fulltext
with Fulltext
-
item.mimetype
application/pdf
-
item.openaccessfulltext
Open Access
-
crisitem.author.dept
E194-01 - Forschungsbereich Software Engineering
-
crisitem.author.orcid
0009-0001-7072-8908
-
crisitem.author.parentorg
E194 - Institut für Information Systems Engineering