Es wurde ein Prototyp entwickelt, der Resultate einer statischen Code-Analyse mit Informationen aus einem Versionskontrollsystem kombiniert.
Spring Boot, JGit, ANTLR, Angular, D3.js, MySQL, Docker
Ziel ist es, eine weitere Möglichkeit für Software-Testverfahren zu entwickeln, um Defekte im Programmcode zu erkennen. Die Aufraggeberin erhofft sich vom entwickelten Prototyp, Beispiele für Visualisierungen und Konzepte zur Datenaufbereitung zu gewinnen.
Nebst der Entwicklung des Protoypen, wird der Frage nachgegangen, ob eine Abhängigkeit von der Komplexität einer Datei zu deren Änderungshäufigkeit existiert. Mehr Komplexität im Programmcode steigert die Wahrscheinlichkeit von vorhandenen Defekten. Diese Wahrscheinlichkeit steigt auch, wenn eine Datei häufig ändert. Es soll untersucht werden, ob ein Zusammenhang besteht.
Auf Grundlage der empfohlenen Literatur (http://www.adamtornhill.com), soll einen Prototyp entwickelt werden. Dieser soll zeigen, ob grosse Projekte schnell und benutzerfreundlich ausgewertet werden können.
Die Anforderungen an den Prototyp lauten wie folgt:
Mit der Implementierung des Prototyps konnte gezeigt werden, dass Auswertungen von temporalen Abhängigkeiten auch auf Methoden und Funktionsebene möglich sind. Die für die Implementierung ausgearbeiteten Konzepte und Prozesse dienen der Auftraggeberin als Grundlage für die Weiterentwicklung des Produkts
Die Untersuchungen zeigten, es besteht keine Korrelation zwischen der Änderungshäufigkeit einer Datei und deren Komplexität. Da diese beiden Metriken unabhängig voneinander sind, ist die Hotspot-Analyse durchaus ein gerechtfertigtes Mittel zur Erkennung von Defekten im Programmcode und somit von Refactoring-Kandidaten.
Projektdauer: | 1 Semester |
Aufwand: | 2 x 360 Stunden |
Teamgrösse: | 2 Person |
Arbeit als: | Bachelor Thesis |
Mibex Software GmbH
Rautistrasse 60
CH-8048 Zürich
www.mibexsoftware.com
Michael Schönbächler, Serge Tiesnes
Prof. Martin Kropp martin.kropp@fhnw.ch