Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-9588
Autor(en): Bran, Alexander
Titel: Detecting software performance anti-patterns from profiler data
Erscheinungsdatum: 2017
Dokumentart: Abschlussarbeit (Bachelor)
Seiten: xv, 66
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-96053
http://elib.uni-stuttgart.de/handle/11682/9605
http://dx.doi.org/10.18419/opus-9588
Zusammenfassung: Nowadays performance is very important in the software business. For example, if the search of an online shopping website takes too long, the customers won’t buy and the web site loses money. For measuring and optimizing performance, there are various solutions available. In this thesis, the focus is set on so-called profilers, more precisely on profiler data from YourKit, which is one of the leading tools in this segment. Profilers are used in development and can monitor all runtime data during the execution of a program. It measures for example the response time and saves the exact CPU and memory usage at any given time. The main aspect of this thesis is to analyze and detect different performance antipatterns in the profiler’s data export. Anti-patterns are the opposite of programming patterns, which are capturing expert knowledge of ”best practices“ in software design. Anti-patterns, on the other hand, document common mistakes made during software development. The goal is to automatically detect performance anti-patterns in the profiler data and show what the problem is and where it occurs. Therefore, this research is conducted with a company operating in the open-source domain. Together with them, we made a case study about the manual detection of anti-patterns in profiler data from load tests. This data is used in order to develop analysis strategies for the detection of anti-patterns with the help of a program called PADprof, which is also been developed in this thesis. The results show that most of the selected performance anti-patterns can be automatically detected in the available data. Nevertheless, more tests need to be conducted in order to evaluate if the anti-patterns can be detected in different data from other systems.
Performance ist heutzutage ein sehr wichtiges Thema bei der der Softwareentwicklung. Niemand kauft etwas in einem Onlineshop ein, wenn das Suchen eines Artikels mehrere Sekunden benötigt. Deswegen wird bei der Entwicklung immer mehr auf diesen Aspekt geachtet. Um die Performance sicherzustellen, gibt es viele Wege. In dieser Arbeit liegt der Fokus auf dem Instrumentieren des Systems mit einem so genannten „Profiler“, in unserem Fall YourKit - einen der führenden in diesem Segment. Profiler werden während der Entwicklung eingesetzt und loggen performancerelevante Daten, wie zum Beispiel Antwortzeit und Prozessor-/Speicherausstattung im Zusammenhang mit der Programmausführung mit. So ist es möglich, detaillierte Informationen über alle Performance-Aspekte zu erlangen. Mit Hilfe dieser Daten kann die Geschwindigkeit des Systems nach und nach verbessert werden. Jedoch geschieht das Analysieren dieser Profilerdaten noch vollkommen händisch und ist deswegen ziemlich aufwändig. In dieser Arbeit soll dieser Prozess automatisiert werden. Dabei liegt der Fokus auf dem Erkennen und Analysieren von sogenannten „Performance-Anti-Patterns“ aus den Profiler-Daten. Anti-patterns sind das Gegenteil von Programmier-Patterns, welche gute Wege Software zu entwickeln darstellen. Anti-Patterns dagegen beschreiben häufig gemachte Fehler während der Softwareentwicklung. Das Ziel dieser Arbeit ist es, Performance-Anti-Patterns automatisch in Profiler-Daten zu erkennen und darzulegen wo und was das Problem ist. Dafür werden Profiler-Daten aus einer Fallstudie einer im Open-Source-Bereich arbeitenden Firma analysiert. Mit Hilfe der Daten, wird außerdem in dieser Arbeit ein Programm namens PADprof entwickelt, welches die Daten aus YourKit analysisert, um die Performance-Anti-Patterns zu erkennen. Die Ergebnisse der Arbeit zeigen, dass die meisten der untersuchten Performance-Anti-Patterns autom tatisch in den uns vorliegenden Daten erkannt werden können. Trotzdem müssen noch mehr Tests durchgeführt werden, um sicherzustellen, dass dies auch mit Daten aus anderen Systemen funktioniert.
Enthalten in den Sammlungen:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
DetectingSoftwarePerformanceAntiPatternsFromProfilerData.pdf975,04 kBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.