elib
DLR-Header
DLR-Logo -> http://www.dlr.de
DLR Portal Home | Imprint | Privacy Policy | Accessibility | Contact | Deutsch
Fontsize: [-] Text [+]

Analyzing Provenance Graphs for Programming Errors

Ruß, Paula Natascha (2024) Analyzing Provenance Graphs for Programming Errors. Master's, Technische Universität Berlin.

[img] PDF - Only accessible within DLR
13MB

Abstract

In dieser Arbeit wird die Erkennung von Programmierfehlern mit Hilfe von Provenance Graphen untersucht, indem der Datenfluss und die Funktionsaufrufe während der Ausführung aufgezeichnet werden. Zwei spezifische Fehlertypen stehen dabei im Mittelpunkt: Der erste bezieht sich auf ungenutzte Daten. Dieser kann leicht durch die Überprüfung der Kanten der Knoten vom Typ Entity im Graphen erkannt werden. Der zweite Fehlertyp sind falsche Sequenzen von Funktionsaufrufen. Diese können im Graphen des Programms identifiziert werden, indem die Subgraphen, welche Aufrufsequenzen darstellen, mit dem Graphen der korrekten Sequenz mit Hilfe der Graph Edit Distance (GED) verglichen werden. In der Graphentheorie wird dieses Problem als inexact subgraph matching bezeichnet. Es wird gezeigt, dass die Berechnung des GED auf knotengefärbten, gerichteten Graphen NP-schwer ist. Aufgrund der Komplexität der Berechnung der GED wird die Größe des ursprünglichen Graphen des Programms reduziert. Indem der Datenfluss zwischen den Funktionen extrahiert wird, wobei die notwendigen Informationen zur Erkennung von falschen Aufrufsequenzen beibehalten werden, kann die Komplexität der Graphen reduziert werden. Dadurch kann die Berechnung in einer akzeptablen Zeit durchgeführt werden. Außerdem wird ein heuristischer Ansatz zum Auffinden dieses Fehlers beschrieben. Zunächst wird nach einem kleinen Teil der korrekten Sequenz im Graphen des Programms gesucht. Dann werden aus den identifizierten Positionen die Teilgraphen extrahiert, die die vollständigen Aufrufsequenzen repräsentieren. Anschließend wird die GED zwischen den Teilgraphen und dem Graphen, der die korrekte Sequenz kodiert, berechnet und das Ergebnis als korrekter, inkorrekter oder nicht verwandter Aufruf klassifiziert. Um das Potential der Fehlererkennung mittels Provenance Graphen zu testen, wird ein Proof-of-Concept-Tool bereitgestellt und an einem generierten Datensatz getestet. Dabei konnten fehlerhafte Aufrufsequenzen von Funktionen erfolgreich erkannt werden. Die Ergebnisse zeigen das Potential von Provenance Graphen für die automatisierte Fehlererkennung, für ein einfacheres und schnelleres Debugging.

Item URL in elib:https://elib.dlr.de/208111/
Document Type:Thesis (Master's)
Title:Analyzing Provenance Graphs for Programming Errors
Authors:
AuthorsInstitution or Email of AuthorsAuthor's ORCID iDORCID Put Code
Ruß, Paula Nataschapaula.russ (at) dlr.dehttps://orcid.org/0009-0005-7408-2488UNSPECIFIED
Date:30 September 2024
Open Access:No
Number of Pages:56
Status:Published
Keywords:Provenance, Provenance graphs, Debugging, inexact subgraph matching
Institution:Technische Universität Berlin
Department:Fakultät 4 - Elektrotechnik und Informatik
HGF - Research field:other
HGF - Program:other
HGF - Program Themes:other
DLR - Research area:no assignment
DLR - Program:no assignment
DLR - Research theme (Project):no assignment
Location: Köln-Porz
Institutes and Institutions:Institute of Software Technology > Intelligent and Distributed Systems
Institute of Software Technology
Deposited By: Ruß, Paula Natascha
Deposited On:06 Nov 2024 12:34
Last Modified:02 Sep 2025 10:09

Repository Staff Only: item control page

Browse
Search
Help & Contact
Information
OpenAIRE Validator logo electronic library is running on EPrints
Website and database design: Copyright © German Aerospace Center (DLR). All rights reserved.