Publication Details

PBlaman

performance blame analysis based on Palladio contracts

authored by
Frank Brüseke, Henning Wachsmuth, Gregor Engels, Steffen Becker
Abstract

In performance-driven software engineering, the performance of a system is evaluated through models before the system is assembled. After assembly, the performance is then validated using performance tests. When a component-based system fails certain performance requirements during the tests, it is important to find out whether individual components yield performance errors or whether the composition of components is faulty. This task is called performance blame analysis. Existing performance blame analysis approaches and also alternative error analysis approaches are restricted, because they either do not employ expected values, use expected values from regression testing, or use static developer-set limits. In contrast, this paper describes the new performance blame analysis approach PBlaman that builds upon our previous work and that employs the context-portable performance contracts of Palladio. PBlaman decides what components to blame by comparing the observed response time data series of each single component operation in a failed test case to the operation's expected response time data series derived from the contracts. System architects are then assisted by a visual presentation of the obtained analysis results. We exemplify the benefits of PBlaman in two case studies, each of which representing applications that follow a particular architectural style.

External Organisation(s)
Paderborn University
Type
Article
Journal
Concurrency and Computation: Practice and Experience
Volume
26
Pages
1975-2004
No. of pages
30
ISSN
1532-0626
Publication date
25.08.2014
Publication status
Published
Peer reviewed
Yes
ASJC Scopus subject areas
Theoretical Computer Science, Software, Computer Science Applications, Computer Networks and Communications, Computational Theory and Mathematics
Electronic version(s)
https://doi.org/10.1002/cpe.3226 (Access: Closed)