Bibliography | Keller, Fabian: Systematic architecture level fault diagnosis using statistical techniques. University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Bachelor Thesis No. 4 (2014). 52 pages, english.
|
Abstract | Kurzfassung In der Vergangenheit wurden verschiedene Algorithmen zur spektrumsbasierten Fehlerlokalisierung (SBFL) entwickelt, um eine fehlerhafte Stelle mithilfe einer Menge von fehlschlagenden und bestandenen Testfällen bestimmen zu können. Die meisten Algorithmen nutzen dabei Ähnlichkeitskoeffizienten und wurden lediglich mit etablierten Vergleichsprogrammen, wie dem “Siemens set†oder dem “space program†aus dem Software-artifact Infrastructure Repository evaluiert. Darüber hinaus wurde SBFL noch nicht von Entwicklern in der Praxis integriert. Diese Studienarbeit untersucht wie sich SBFL auf ein echtes Projekt namens AspectJ anwenden lässt. Aus einer ursprünglichen Menge von 110 manuell klassifizierten fehlerhaften Versionen konnten nach dem Untersuchen der 1000 verdächtigsten Zeilen von verschiedenen Algorithmen, nur sieben Fehler gefunden werden. Um die Ergebnisse erklären zu können, wird der Einfluss der Programmgröße durch verschiedene Metriken untersucht. Im Allgemeinen hat die Programmgröße einen kleinen Einfluss auf einige Metriken, allerdings ist dies nicht die hauptsächliche Ursache für die Ergebnisse. Diese scheinen eher durch die Metriken, die aktuell von der Wissenschaft verwendet werden, um die Leistung eines SBFL-Algorithmus zu beurteilen, verursacht zu sein. Diese Studienarbeit zeigt die Einschränkungen von SBFL mit Hilfe von verschiedenen Leistungs-Metriken und den Erkenntnissen der manuellen Klassifizierung auf. Darüber hinaus werden zusätzliche Leistungs-Metriken, die besser zur Bewertung der Fehlerlokalisierungsleistung geeignet sind, vorgeschlagen.
Abstract In the past various spectrum-based fault localization (SBFL) algorithms have been developed to pinpoint a fault location given a set of failing and passing test executions. Most of the algorithms use similarity coefficients and have only been evaluated on established benchmark programs like the Siemens set or the space program from the Software-artifact Infrastructure Repository. In addition to that, SBFL has not been applied by developers in practice yet. This study evaluates the feasibility of applying SBFL to a real-world project, namely AspectJ. From an initial set of 110 manually classified faulty versions, a maximum of seven bugs can be found after examining the 1000 most suspicious lines produced by various SBFL techniques. To explain the result, the influence of the program size is examined using different metrics and evaluations. In general, the program size has a slight influence on some metrics, but is not the primary explanation for the results. The results seem to originate from the metrics currently used throughout the research community to assess SBFL performance. The study showcases the limitations of SBFL with the help of different performance metrics and the insights learned during manual classification. Moreover, additional performance metrics that are better suited to evaluate the fault localization performance are proposed.
|