Extrahieren von Code-Änderungen aus einem Commit für kontinuierliche Integration von Leistungsmodellen: Unterschied zwischen den Versionen

Aus SDQ-Institutsseminar
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
Zeile 5: Zeile 5:
|betreuer=Manar Mazkatli
|betreuer=Manar Mazkatli
|termin=Institutsseminar/2020-09-04
|termin=Institutsseminar/2020-09-04
|kurzfassung=Ein Performance-Modell ermöglicht den Software-Entwicklern eine frühzeitige Analyse von programmierten Komponenten in Bezug auf Leistungseigenschaften. Um Inkonsistenzen zu vermeiden, soll das Performance-Modell angepasst werden, sobald Entwickler den Quellcode ändern. Eine Aktualisierung von Performance-Modellen ist kein triviales Problem. Der Ansatz von Manar Mazkatli und Anne Koziolek (CIPM-Ansatz) beschreibt eine Lösung des Problems. In dieser Bachelorarbeit wurde der erste Schritt für die vorgestellte Lösung implementiert: der CIPM-Ansatz wird mit git repository verknüpft, Änderungen werden aus commits extrahiert und auf Code- und Performance-Modelle angewandt. Die Implementierung wurde in einer Fallstudie evaluiert. Auf einem Projekt wurden unterschiedliche Arten von Änderungen simuliert und die Korrektheit von den aktualisierten Code- und Performance-Modellen überprüft. Die Ergebnisse bestätigen korrekte Aktualisierung von Code- und Performance-Modellen in den 96,6 % der durchgeführten Tests.
|kurzfassung=Ein Leistungsmodell ermöglicht den Software-Entwicklern eine frühzeitige Analyse von programmierten Komponenten in Bezug auf Leistungseigenschaften. Um Inkonsistenzen zu vermeiden, soll das Leistungsmodell angepasst werden, sobald Entwickler den Quellcode ändern. Eine Aktualisierung von Leistungsmodellen ist kein triviales Problem. Der Ansatz "kontinuierliche Integration von Leistungsmodellen" (Abkürzung: KILM) führt eine automatische inkrementelle Aktualisierung von Leistungsmodellen durch und bietet somit eine Lösung des Problems an. Ein wichtiger Vorteil von diesem Ansatz ist, dass das Leistungsmodell weder manuell angepasst (aufwändig und fehleranfällig), noch nach jeder Änderung neu aufgebaut (ineffizient und aufwändig) werden muss.
In dieser Bachelorarbeit wurde der erste Schritt für die vorgestellte Lösung implementiert: der KILM-Ansatz wird mit Git-Repository verknüpft, Änderungen werden aus Commits extrahiert und auf Code- und Leistungsmodelle angewandt. Die Implementierung wurde in einer Fallstudie evaluiert. Auf einem Projekt wurden unterschiedliche Arten von Änderungen simuliert und die Korrektheit von den aktualisierten Code- und Leistungsmodellen überprüft. Die Ergebnisse bestätigen korrekte Aktualisierung von Code- und Leistungsmodellen in den 96,6 % der durchgeführten Tests.
}}
}}

Aktuelle Version vom 1. September 2020, 14:56 Uhr

Vortragende(r) Ilia Chupakhin
Vortragstyp Bachelorarbeit
Betreuer(in) Manar Mazkatli
Termin Fr 4. September 2020
Vortragssprache
Vortragsmodus
Kurzfassung Ein Leistungsmodell ermöglicht den Software-Entwicklern eine frühzeitige Analyse von programmierten Komponenten in Bezug auf Leistungseigenschaften. Um Inkonsistenzen zu vermeiden, soll das Leistungsmodell angepasst werden, sobald Entwickler den Quellcode ändern. Eine Aktualisierung von Leistungsmodellen ist kein triviales Problem. Der Ansatz "kontinuierliche Integration von Leistungsmodellen" (Abkürzung: KILM) führt eine automatische inkrementelle Aktualisierung von Leistungsmodellen durch und bietet somit eine Lösung des Problems an. Ein wichtiger Vorteil von diesem Ansatz ist, dass das Leistungsmodell weder manuell angepasst (aufwändig und fehleranfällig), noch nach jeder Änderung neu aufgebaut (ineffizient und aufwändig) werden muss.

In dieser Bachelorarbeit wurde der erste Schritt für die vorgestellte Lösung implementiert: der KILM-Ansatz wird mit Git-Repository verknüpft, Änderungen werden aus Commits extrahiert und auf Code- und Leistungsmodelle angewandt. Die Implementierung wurde in einer Fallstudie evaluiert. Auf einem Projekt wurden unterschiedliche Arten von Änderungen simuliert und die Korrektheit von den aktualisierten Code- und Leistungsmodellen überprüft. Die Ergebnisse bestätigen korrekte Aktualisierung von Code- und Leistungsmodellen in den 96,6 % der durchgeführten Tests.