License: | Title: | Fehlerlokalisierung und Fehlereingrenzung in Java-basierten Programmen für Client-Server-Architekturen | Language: | German | Authors: | Dedaj, Dennis | Issue Date: | 31-Jul-2012 | Abstract: | Fehler in komplexen Softwaresystemen zu Identifizieren ist eine aufwändige Aufgabe. Der Prozess des Debuggings teilt sich in das Finden und das Beheben des Fehlers auf. Das Beheben eines bereits entdeckten Fehlers ist nicht so aufwändig wie das Finden des Fehlers. Der Zustand eines Softwaresystems besteht aus einer Vielzahl von Variablen, welche sich zu jedem Zeitpunkt ändern können. Mit dieser Arbeit wird die Machbarkeit einer automatisierten Fehlerlokalisierung in Java-Programmen erforscht. Dazu werden vorerst die für die Lokalisierung von Fehlern in Java-Programmen relevanten Fehlerwirkungen identifiziert. Anschließend werden die in Client-Server- Architekturen möglichen Propagierungen der Fehler erarbeitet. Auf Basis der Fehlerwirkungen und der möglichen Propagierungen werden dann die für die angestrebte Fehlerlokalisierung denkbaren Softwarefehler identifiziert. Das Konzept beruht auf der Instrumentierung der Ausführung von erfolgreichen und fehlschlagenden Testfällen, um mit Hilfe von dynamischen Slices die Ausführungspfade zu extrahieren. Die Ausführungspfade werden wiederum mit ausgewählten Mengenoperationen zu einem resultierenden Slice vereinigt. Der resultierende Slice wird dem Softwareentwickler präsentiert. Die Präsentation des vereinigten Slices soll dazu führen, dass der Softwareentwickler nur eine reduzierte Menge von Anweisungen untersuchen muss, um den jeweiligen Fehler zu erkennen. The identification of failures in complex software system is an elaborate task. The process of debugging consists of finding and solving a failure. Solving the failure is not as elaborate as finding it. The status of a software system depends on a great variety of variables, which can change at any time. This work understands itself as an proof of concept for an automated localization technique of failures in Java programs. At first, the failures will be identified in order to compile possible propagations of failures in client-server-architectures. Based on the identified failures and possible propagations a set of failure-causing software faults is generated. This concept consists of the instrumentation of successful and failing test case executions to extract execution traces by dynamic slices. The execution traces are joined by chosen set operations to resulting sets of slices. The resulting slice is presented to the software developer. The presentation should help the developer to identify the particular fault, because a reduced amount of possibly wrong instructions is given to him. |
URI: | http://hdl.handle.net/20.500.12738/5875 | Institute: | Department Informatik | Type: | Thesis | Thesis type: | Master Thesis | Advisor: | Buth, Bettina | Referee: | Hübner, Martin |
Appears in Collections: | Theses |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Masterarbeit.pdf | 1.21 MB | Adobe PDF | View/Open |
Note about this record
Export
Items in REPOSIT are protected by copyright, with all rights reserved, unless otherwise indicated.