Detailseite
Projekt Druckansicht

Kontinuierliche Leistungsbewertung evolvierender Software-Systeme im Kontext elastischer Plattformtechnologien

Fachliche Zuordnung Softwaretechnik und Programmiersprachen
Förderung Förderung von 2012 bis 2015
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 211689233
 
Erstellungsjahr 2015

Zusammenfassung der Projektergebnisse

Cloud-Technologien werden immer häufiger für Unternehmenssoftware eingesetzt, um flexibel auf Lastschwankungen reagieren zu können. Während das Auslagern von Hard- und Software-Plattformen vom Unternehmen zu Platform-as-a-Service-Anbietern viele Vorteile bietet, erschwert es jedoch die Einschätzung der Performance von Software, da Architekten und Entwickler nicht die Details der Implementierung der Softwareplattformen bei externen Dienstleistern einsehen können. Im Wissenstransfer-Projekt »Performance Engineering for Evolving Software Systems in Elastic Environments« wurden Methoden entwickelt, mithilfe derer Techniken aus dem Software Performance Engineering auch in Cloud-Umgebungen und bei Platform-as-a-Service-Anbietern genutzt werden können. Während das initiale Vorhaben vor allem in der Entwicklung einer nicht-intrusiven, messbasierten Methode lag, die die Einschätzung des Performance-Verhaltens von Cloud-Systemen ermöglicht, wurde im Verlauf des Projektes klar, dass sich diese Methoden sehr gut zur gezielten Verbesserung von Performance-Eigenschaften nutzen lassen können. Daher wurde ein Verfahren zur Identifikation und Klassifikation von häufig auftretenden Performance-Problemen entwickelt, das auf systematischen Tests und Messungen basiert. Die Problemklassen wurden mithilfe einer hierarchischen Taxonomie beschrieben, die wiederum als Metamodell ausgedrückt ist und so eine präzise Formulierung der beobachteten Performance-Probleme erlaubt, die für weitere automatisierte Schritte im Entwicklungsprozess genutzt werden kann. Die Klassifikation der Performance-Probleme wurde prototypisch im Rahmenwerk Dynamic Spotter implementiert, das als frei verfügbare Software zur Verfügung steht und in weiteren Forschungsprojekten zum Einsatz kommt. Basierend auf der Beschreibung der Performance-Probleme wurde ein Verfahren entwickelt, um Entwickler und Software-Architekten bei der Behebung dieser Probleme zu unterstützen. Das Ziel war hierbei, es auch Nicht-Performance-Experten zu ermöglichen, Methoden aus dem Software Performance Engineerung zur Verbesserung der Performance von Software einzusetzen. Da eine vollständig automatisierte Verbesserung von Software als unrealistisch eingeschätzt wurde, jedoch ein hoher Grad von Automatisierung zur Verbesserung der Entwicklungseffzienz angestrebt wurde, berücksichtigt das entwickelte Verfahren das a priori ermittelte Wissen von Performance-Experten, um Entwicklern Vorschläge zur Verbesserung der Software zu geben. Diese müssen zwar manuell umgesetzt werden, können jedoch bewertet und in einem Empfehlungssystem an andere Entwickler weitergegeben werden.

Projektbezogene Publikationen (Auswahl)

  • »Integrating software performance curves with the palladio component model«. In: Proceedings of the third joint WOSP/SIPEW international conference on Performance Engineering. ACM. 2012, S. 283–286
    Alexander Wert, Jens Happe und Dennis Westermann
    (Siehe online unter https://doi.org/10.1145/2188286.2188339)
  • »Automated root cause isolation of performance regressions during software development«. In: Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering. ICPE ’13. Prague, Czech Republic: ACM, 2013, S. 27–38
    Christoph Heger, Jens Happe und Roozbeh Farahbod
    (Siehe online unter https://doi.org/10.1145/2479871.2479879)
  • »Multi-Tenancy Performance Benchmark for Web Application Platforms«. Industrial Track. In: Proceedings of the 13th International Conference on Web Engineering (ICWE 2013). Aalborg University, Denmark. Aalborg: Springer-Verlag, Juli 2013
    Rouven Krebs, Alexander Wert und Samuel Kounev
  • »Performance problem diagnostics by systematic experimentation«. In: Proceedings of the 18th international doctoral symposium on Components and architecture. WCOP ’13. Vancouver, British Columbia, Canada: ACM, 2013, S. 1–6
    Alexander Wert
    (Siehe online unter https://doi.org/10.1145/2465498.2465499)
  • »Supporting swift reaction: automatically uncovering performance problems by systematic experiments«. In: Proceedings of the 2013 International Conference on Software Engineering. ICSE ’13. San Francisco, CA, USA: IEEE Press, 2013, S. 552–561
    Alexander Wert, Jens Happe und Lucia Happe
  • »Systematic Guidance in Solving Performance and Scalability Problems«. In: WCOP ’13: Proceedings of the 18th international doctoral symposium on Components and Architecture. Vancouver, Canada: ACM, 2013
    Christoph Heger
  • »Systematic performance evaluation based on tailored benchmark applications«. In: Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering. ICPE ’13. Industrial Track. Prague, Czech Republic: ACM, 2013, S. 411–420
    Christian Weiss, Dennis Westermann, Christoph Heger und Martin Moser
    (Siehe online unter https://doi.org/10.1145/2479871.2479934)
  • »Automatic Detection of Performance Anti-patterns in Inter-component Communications«. In: Proceedings of the 10th International Conference on Quality of Software Architecture. QoSA ’14. Acceptance Rate: 27%. Lille, France, 2014
    Alexander Wert, Marius Oehler, Christoph Heger und Roozbeh Farahbod
    (Siehe online unter https://doi.org/10.1145/2602576.2602579)
  • »Deriving Work Plans for Solving Performance and Scalability Problems«. In: Computer Performance Engineering. Hrsg. von András Horváth und Katinka Wolter. Bd. 8721. Lecture Notes in Computer Science. Springer International Publishing, 2014, S. 104–118
    Christoph Heger und Robert Heinrich
    (Siehe online unter https://dx.doi.org/10.1007/978-3-319-10885-8_8)
  • »Vergil: Guiding Developers Through Performance and Scalability Inferno«. In: The Ninth International Conference on Software Engineering Advances (ICSEA). Hrsg. von Herwig Mannaert et al. IARIA, 2014, S. 598–608
    Christoph Heger, Alexander Wert und Roozbeh Farahbod
  • »AIM: Adaptable Instrumentation and Monitoring for Automated Software Performance Analysis«. In: Automation of Software Test (AST), 2015 IEEE/ACM 10th International Workshop on. IEEE, Mai 2015, S. 38–42
    Alexander Wert, Henning Schulz und Christoph Heger
    (Siehe online unter https://doi.org/10.1109/AST.2015.15)
  • »DynamicSpotter: Automatic, Experiment-based Diagnostics of Performance Problems (Invited Demonstration Paper)«. In: Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering. ICPE ’15. Austin, Texas, USA: ACM, 2015, S. 105–106
    Alexander Wert
    (Siehe online unter https://doi.org/10.1145/2668930.2693844)
  • »Generic Instrumentation and Monitoring Description for Software Performance Evaluation«. In: Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering. ICPE ’15. Austin, Texas, USA: ACM, 2015, S. 203–206
    Alexander Wert, Henning Schulz, Christoph Heger und Roozbeh Farahbod
    (Siehe online unter https://doi.org/10.1145/2668930.2695525)
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung