Bachelor Thesis BCLR-2016-72

BibliographyHidiroglu, Alper: Detecting performance anti-patterns in enterprise applications by analyzing execution traces.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Bachelor Thesis No. 72 (2016).
119 pages, english.
CR-SchemaB.8.2 (Performance Analysis and Design Aids)
D.4.8 (Operating Systems Performance)
Abstract

Application performance management (APM) deals with performance issues within applications. With application performance monitoring the software’s behaviour is investigated with the help of a program, in the following called agent. When the applications software runs, the agent collects performance-relevant data, which can be evaluated. For example, methods get instrumented, so that data can be collected, when the method is executed. Typical examples for such data are the response time or the CPU time of a method. There are many APM tools, that provide such an agent to collect performance data. Modern tools provide monitoring and alerting, but not root-cause analysis. Therefore, the NovaTec Consulting GmbH [NTC16b] and the University of Stuttgart (Reliable Software Systems group) are developing the diagnoseIT [dIT15] to systematically detect and analyze performance problems in applications software. The results of the diagnoseIT analysis are summarized in a report, which is then presented to the user. To provide concrete approaches for a solution concerning a performance problem within the monitored software, one part of the diagnoseIT analysis deals with detection of software performance anti-patterns [ap00]. A performance anti-pattern describes a frequently made mistake, when implementing a software and which results in performance problems. Because the mistake is made often and well known, concrete approaches for a solution can be proposed. To detect anti-patterns in collected data, diagnoseIT uses a rule engine. Thereby, a rule can represent an anti-pattern by comparing the collected data with the characteristics of the anti-pattern. When a rule detects an anti-pattern, the diagnoseIT analysis automatically can provide concrete solutions for a performance problem [HHO+15]. In its current state, diagnoseIT has only a few rules to detect anti-patterns. So in this bachelor thesis, we add more rules to the diagnoseIT to detect other performance antipatterns. Also, diagnoseIT has no possibility to detect anti-patterns, that get visible over time, because it has no possibility to save data. Therefore, in this bachelor thesis, we extend the diagnoseIT analysis with a special database, so that performance anti-patterns can be detected, which become visible in a longer observation period of performance data. The concluding evaluation of this work shows, that the implemented rules correctly detect anti-patterns. However, the evaluation also identifies limitations of the rules, that lead to wrong results in some cases.

Full text and
other links
Volltext
Department(s)University of Stuttgart, Institute of Software Technology, Software Reliability and Security
Superviser(s)van Hoorn, Dr. André; Okanovic, Dr. Dušan
Entry dateNovember 19, 2018
   Publ. Computer Science