Treffer: Analyzing the interrelationship of evolution activities such as refactoring to estimate the influence on software defect prediction

Title:
Analyzing the interrelationship of evolution activities such as refactoring to estimate the influence on software defect prediction
Authors:
Contributors:
Gall, Harald, Ratzinger, Jacek
Publication Year:
2020
Collection:
TU Wien: reposiTUm
Document Type:
Dissertation thesis
File Description:
VII, 96 Bl.
Language:
English
Rights:
open
Accession Number:
edsbas.3B8306FE
Database:
BASE

Weitere Informationen

Zsfassung in dt. Sprache ; Die vorliegende Diplomarbeit analysiert den Einfluss von evolutionären Aktivitäten, wie Refactoring, um das Auftreten von Softwarefehlern in naher Zukunft vorherzusagen. Die Verbesserung der Softwarequalität ist der Schlüssel, um die Fehlerdisposition von Software zu reduzieren. In diesem Zusammenhang sind nicht-funktionale Anforderungen, wie Verständlichkeit und Wartbarkeit, von größter Wichtigkeit. Aber wie können diese Erfordernisse realisiert werden? Eine Möglichkeit besteht darin Refactorings anzuwenden, welche das Design von vorhandenem Sourcecode betreffen, ohne das Verhalten nach Außen zu beeinflussen. Im Rahmen einer Fallstudie mittels fünf Open-Source Projekten verwenden wir Eigenschaften der Softwareevolution, um mittelfristige Fehler vorherzusagen. Wir verwenden Versionierungs- und Bugtracking-Systeme, um 110 Datamining Features zu extrahieren. Diese Features lassen sich in solche, mit und ohne Bezug zu Refactoring einteilen, um Softwarefehler in Zeitabschnitten von sechs Monaten vorherzusagen. Unser Ansatz umfasst Softwarecharakteristika, wie Größen- und Komplexitätsmaße, relationale Aspekte, Zeitbedingungen, oder teambezogene Aspekte. Diese Informationen dienen als Input für Klassifikationsalgorithmen, die Vorhersagemodelle für Softwarefehler erzeugen. Wir haben herausgefunden, dass Features mit und ohne Refactoring-Bezug zu Vorhersagemodellen von hoher Qualität führen. Weiters haben wir entdeckt, dass Refactoring auf eine bestimmte Art mit anderen Softwareaktivitäten assoziiert sein sollte, um das Auftreten von Softwarefehlern zu reduzieren. Zusätzlich zeigen wir, dass gewisse Teilmengen von Refactoring Features von größter Wichtigkeit für die Vorhersagemodelle jedes einzelnen Projekts sind. Abschließend zeigten autorenbezogene Aspekte variable Ergebnisse, dennoch konnten wir mehrere interessante Erkenntnisse gewinnen. ; This thesis analyzes the influence of evolution activities such as refactoring to predict the occurrence of software defects in the near future. ...