Bitte benutzen Sie diese Referenz, um auf diese Ressource zu verweisen: doi:10.22028/D291-38659
Titel: Leveraging input features for testing and debugging
VerfasserIn: Kampmann, Alexander
Sprache: Englisch
Erscheinungsjahr: 2022
Kontrollierte Schlagwörter: Debugging
Softwareentwicklung
DDC-Sachgruppe: 004 Informatik
Dokumenttyp: Dissertation
Abstract: When debugging software, it is paramount to understand why the program failed in the first place. How can we aid the developer in this process, and automate the process of understanding a program failure? The behavior of a program is determined by its inputs. A common step in debugging is to determine how the inputs influences the program behavior. In this thesis, I present Alhazen, a tool which combines a decision tree and a test generator into a feedback loop to create an explanation for which inputs lead to a specific program behavior. This can be used to generate a diagnosis for a bug automatically. Alhazen is evaluated for generating additional inputs, and recognizing bug-triggering inputs. The thesis makes first advances towards a user study on whether Alhazen helps software developers in debugging. Results show that Alhazen is effective for both use cases, and indicate that machine-learning approaches can help to understand program behavior. Considering Alhazen, the question what else can be done with input features follows naturally. In the thesis I present Basilisk, a tool which focuses testing on a specific part of the input. Basilisk is evaluated on its own, and an integration with Alhazen is explored. The results show promise, but also some challenges. All in all, the thesis shows that there is some potential in considering input features.
Bei der Fehlersuche in Softwaresystemen ist es wichtig, die Ursache des Fehlers zu verstehen. Wie können wir den Entwickler hierbei unterstützen, und den Prozess des Programmverstehens automatisieren? Das Verhalten eines Programms wird durch seinen Input bestimmt. Ein typischer Schritt bei der Fehlersuche ist daher, zu verstehen wie der Input das Programmverhalten beeinflust. In dieser Arbeit präsentiere ich Alhazen, ein Programm, das eine Feedback Loop zwischen einem Decision Tree und einen Testgenerator einrichtet, um eine Erklärung dafür zu generieren, welche Inputs ein bestimmtes Programmverhalten auslösen. Das kann benutzt werden, um einen Programmfehler automatisch zu diagnostizieren. Es wird evaluiert, ob Alhazen eingesetzt werden kann um zusätzliche Inputs zu generieren und Inputs, die den Fehler auslösen, zu erkennen. Die Arbeit enhält erste Schritte für eine Nutzerstudie, die zeigen soll, ob Alhazen Softwareentwicklern bei der Fehlersuche hilft. Die Ergebnisse zeigen, dass Alhazen in beiden Szenarien effektiv ist, und deuten darauf hin, dass maschinelle Lernverfahren beim Programmverstehen helfen können. Alhazen wirft die Frage auf, ob die Betrachtung von Input Features andere Möglichkeiten bietet. Diese Thesis präsentiert Basilisk, ein Werkzeug, das Testgenerierung auf bestimmte Teile des Inputs fokussiert. Basilisk wird als eigenständiges Tool evaluiert, und eine Integration mit Alhazen wird ausprobiert. Die Ergebnisse sind vielversprechend, zeigen aber auch Probleme mit der Idee auf. Insgesamt zeigt die Arbeit das Protential von Input Features.
Link zu diesem Datensatz: urn:nbn:de:bsz:291--ds-386593
hdl:20.500.11880/34984
http://dx.doi.org/10.22028/D291-38659
Erstgutachter: Zeller, Andreas
Tag der mündlichen Prüfung: 19-Dez-2022
Datum des Eintrags: 23-Jan-2023
Fakultät: MI - Fakultät für Mathematik und Informatik
Fachrichtung: MI - Informatik
Professur: MI - Prof. Dr. Andreas Zeller
Sammlung:SciDok - Der Wissenschaftsserver der Universität des Saarlandes

Dateien zu diesem Datensatz:
Datei Beschreibung GrößeFormat 
main.pdf1,89 MBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repository sind urheberrechtlich geschützt.