Rekonstruktion von Komponentenmodellen für Qualitätsvorhersagen auf der Grundlage heterogener Artefakte in der Softwareentwicklung

Aus SDQ-Institutsseminar
Vortragende(r) Fabian Müller
Vortragstyp Masterarbeit
Betreuer(in) Yves Kirschner
Termin Fr 26. März 2021
Vortragssprache
Vortragsmodus
Kurzfassung Moderne Softwaresysteme werden oftmals nicht mehr als monolithische Anwendungen konstruiert. Verteilte Architekturen liegen im Trend. Der Einsatz von Technologien wie Docker und Spring bringt, neben dem Quelltext, zusätzliche Konfigurationsdateien mit ein. Eine Rekonstruktion der Softwarearchitektur nur anhand des Quelltextes wird dadurch erschwert. Zu Beginn dieser Arbeit wurden einige wissenschaftliche Arbeiten untersucht, die sich mit dem Thema Rekonstruktion von Softwarearchitekturen beschäftigen. Jedoch konnte keine Arbeit gefunden werden, welche sowohl heterogene Softwareartefakte unterstützt als auch ein für die Qualitätsvorhersage geeignetes Modell generiert.

Aufgrund dessen stellt diese Arbeit einen neuen Ansatz vor, der mehrere heterogene Softwareartefakte zur Rekonstruktion eines Architekturmodells miteinbezieht. Genauer wird in dieser Arbeit der Ansatz als Prototyp für die Artefakte Java-Quelltext, Dockerfiles, Docker-Compose-Dateien sowie Spring-Konfigurationsdateien umgesetzt. Als Zielmodell kommt das Palladio-Komponentenmodell zum Einsatz, welches sich für Analysen und Simulationen hinsichtlich Performanz und Verlässlichkeit eignet. Es wird näher untersucht, inwiefern die Informationen der Artefakte zusammengeführt werden können. Der Ansatz sieht es vor, die Artefakte zuerst in Modelle zu transformieren. Für diese Transformationen werden zwei unterschiedliche Vorgehensweisen betrachtet. Zuerst soll Java-Quelltext mithilfe von JDT in ein bestehendes Metamodell übertragen werden. Für die übrigen Artefakte wird eine Xtext-Grammatik vorgeschlagen, welche ein passendes Metamodell erzeugen kann. Die Architektur des Ansatzes wurde außerdem so gestaltet, dass eine Anpassung oder Erweiterung bezüglich der unterstützten Artefakte einfach möglich ist.

Zum Abschluss wird die prototypische Implementierung beschrieben und evaluiert. Dafür wurden zwei Fallstudien ausgewählt und mithilfe des Prototyps das Architekturmodell der Projekte extrahiert. Die Ergebnisse wurden anhand von vorher definierten Metriken anschließend untersucht. Dadurch konnte gezeigt werden, dass der Ansatz funktioniert und durch die heterogenen Artefakte ein Mehrwert zur Rekonstruktion des Architekturmodells beigetragen werden kann.