05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Permanent URI for this collectionhttps://elib.uni-stuttgart.de/handle/11682/6

Browse

Search Results

Now showing 1 - 3 of 3
  • Thumbnail Image
    ItemOpen Access
    Context-aware load testing in continuous software engineering
    (2019) Hidiroglu, Alper
    To ensure adequate performance of a system, performance regressions have to be detected early in the software development process. Before a new software version is released, load tests should be applied on the system. In the context of continuous software engineering, it is crucial to keep delivery pipelines as short-running as possible in order to release software changes frequently. Since load tests typically take longer than functional tests, it is not possible to test for every possible workload scenario every time before a change is committed. It would be better to focus only on those load scenarios that are relevant for a given context, that consists, for example, of marketing campaigns, sports events, weather, etc. The goal of this work is to automatically generate load tests that test for the relevant load scenarios in the future. Thereby, we aim at reducing the resource usage and the test execution time. We develop a context description language to express contexts that can occur in the future. Our approach takes as input a context description and recorded request logs from the production system. It then uses the WESSBAS approach to calculate historical workload data from the recorded request logs. Based on the historical workload data and the passed context description, our approach then forecasts the future workload. The forecasted workload is processed and relevant load scenarios are identified that will occur in the future. Our approach then uses the WESSBAS approach again to automatically generate load tests that test for the identified load scenarios. We evaluated our approach with a real-world data set, that contains recorded requests from the Student Information System (SIS) of the Charles University in Prague. The evaluation shows that contexts help to reduce the testing effort and to focus only on the relevant workload scenarios. However, the evaluation also shows that our approach has limitations regarding the accuracy of the forecasted workload. Load tests, that are generated from inaccurately forecasted workload, do not test for the relevant load scenarios.
  • Thumbnail Image
    ItemOpen Access
    Detecting performance anti-patterns in enterprise applications by analyzing execution traces
    (2016) Hidiroglu, Alper
    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 and the University of Stuttgart (Reliable Software Systems group) are developing the diagnoseIT 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. 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. 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 anti-patterns. 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.
  • Thumbnail Image
    ItemOpen Access
    Detecting performance anti-patterns in enterprise applications by analyzing execution traces
    (2016) Hidiroglu, Alper
    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.