Project Details
Projekt Print View

Performance Engineering for Evolving Software Systems in Elastic Environments

Subject Area Software Engineering and Programming Languages
Term from 2012 to 2015
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 211689233
 
Final Report Year 2015

Final Report Abstract

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.

Publications

  • »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
    (See online at 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
    (See online at 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
    (See online at 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
    (See online at 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
    (See online at 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
    (See online at 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
    (See online at 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
    (See online at 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
    (See online at https://doi.org/10.1145/2668930.2695525)
 
 

Additional Information

Textvergrößerung und Kontrastanpassung