Empirische Betrachtung der Performanz auf Codeebene

Promotionsprojekt

Inhalt

Quelltextänderungen zwischen verschiedenen Versionen einer Software können zu verbesserter oder verschlechterter Performanz führen. Durch eine empirische Betrachtung der Auswirkungen realer Quelltextänderungen auf die Performanz von Software wird es möglich, typische Klassen von Änderungen zu finden. Die empirische Betrachtung wird durch die Analyse bestehender Code-Repositories mit langer Versionsgeschichte durchgeführt. Diese Promotion definiert einen Ansatz zum Erkennen von Performanzproblemen auf Code-Ebene unter Nutzung der Unit-Tests. Dabei definiert sie (I) eine Methode zur Umwandlung von Unit-Tests in Performanztests und zur statistisch zuverlässigen und wiederholbaren Messung der Performanz, (II) eine Methode zur Regressionstestselektion, d.h. zur Bestimmung, zwischen welchen Versionen sich die Performanz geändert haben kann basierend auf statischer Quelltextanalyse und Analyse des Laufzeitverhaltens, (III) eine Methode zur Klassifizierung der dabei gefundenen Quelltextveränderungen und (IV) eine Menge von Klassen, die durch die Analyse beispielhaft gewählter Projekte spezifiziert wurde.

Publikationen

2018
David Georg Reichelt, Stefan Kühne:
Better Early Than Never: Performance Test Acceleration by Regression Test Selection. ICPE Companion 2018: 127-130

David Georg Reichelt, Stefan Kühne:
How to Detect Performance Changes in Software History: Performance Analysis of Software System Versions. ICPE Companion 2018: 183-188

2016
David Georg Reichelt, Stefan Kühne:
Empirical Analysis of Performance Problems on Code Level. ICPE 2016: 117-120

2015
David Georg Reichelt, Fabian Scheller:
Improving Performance Analysis of Software System Versions Using Change-Based Test Selection. Softwaretechnik-Trends 35(3) (2015)

David Georg Reichelt, Johannes Schmidt:
Performanzanalyse von Softwaresystemversionen: Methode und erste Ergebnisse. Software Engineering & Management 2015: 153-158

2014
David Georg Reichelt:
Berücksichtigung von Softwareperformanz im Entwicklungsprozess. GI-Jahrestagung 2014: 2329-2334

David Georg Reichelt, Lars Braubach:
Sicherstellung von Performanzeigenschaften durch kontinuierliche Performanztests mit dem KoPeMe Framework. Software Engineering 2014: 119-124

Aktueller Stand

Die Regressionstestselektion und die statistische Analyse der Performanz von Softwaresystemversionen ist prototypisch im Projekt PeASS (Performance Analysis o Software System Versions) implementiert. Die Ergebnisse sind im Repository http://github.com/DaGeRe/peass unter AGPLv3 verfügbar.

Die Klassifizierung der Performanzunterschiede sowie die Erstellung eines empirisch begründeten Änderungskatalogs steht noch aus.

Förderung

Die Erstellung dieser Promotion wird von der Hanns-Seidel-Stiftung (https://www.hss.de/) im Rahmen eines Promotionsstipendiums mit Mitteln des Bundesministeriums für Bildung und Forschung gefördert.

letzte Änderung: 28.06.2018

Hilfe

Servicedesk

Neues Augusteum
2. Etage, Raum A252

Telefon: +49 341 97-33333
E-Mail

Suche