PBlaman: performance blame analysis based on Palladio contracts

Research output: Contribution to journalArticleResearchpeer review

Authors

External Research Organisations

  • Paderborn University
View graph of relations

Details

Original languageEnglish
Pages (from-to)1975-2004
Number of pages30
JournalConcurrency and Computation: Practice and Experience
Volume26
Issue number12
Early online date25 Jul 2014
Publication statusPublished - 25 Aug 2014
Externally publishedYes

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.

Keywords

    CBSE, data series comparison, performance blame analysis, performance prediction, performance test

ASJC Scopus subject areas

Cite this

PBlaman: performance blame analysis based on Palladio contracts. / Brüseke, Frank; Wachsmuth, Henning; Engels, Gregor et al.
In: Concurrency and Computation: Practice and Experience, Vol. 26, No. 12, 25.08.2014, p. 1975-2004.

Research output: Contribution to journalArticleResearchpeer review

Brüseke F, Wachsmuth H, Engels G, Becker S. PBlaman: performance blame analysis based on Palladio contracts. Concurrency and Computation: Practice and Experience. 2014 Aug 25;26(12):1975-2004. Epub 2014 Jul 25. doi: 10.1002/cpe.3226
Download
@article{7080097b7c2543d98b8737dc36dfb9de,
title = "PBlaman: performance blame analysis based on Palladio contracts",
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.",
keywords = "CBSE, data series comparison, performance blame analysis, performance prediction, performance test",
author = "Frank Br{\"u}seke and Henning Wachsmuth and Gregor Engels and Steffen Becker",
year = "2014",
month = aug,
day = "25",
doi = "10.1002/cpe.3226",
language = "English",
volume = "26",
pages = "1975--2004",
journal = "Concurrency and Computation: Practice and Experience",
issn = "1532-0626",
publisher = "John Wiley and Sons Ltd",
number = "12",

}

Download

TY - JOUR

T1 - PBlaman

T2 - performance blame analysis based on Palladio contracts

AU - Brüseke, Frank

AU - Wachsmuth, Henning

AU - Engels, Gregor

AU - Becker, Steffen

PY - 2014/8/25

Y1 - 2014/8/25

N2 - 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.

AB - 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.

KW - CBSE

KW - data series comparison

KW - performance blame analysis

KW - performance prediction

KW - performance test

UR - http://www.scopus.com/inward/record.url?scp=84905096568&partnerID=8YFLogxK

U2 - 10.1002/cpe.3226

DO - 10.1002/cpe.3226

M3 - Article

AN - SCOPUS:84905096568

VL - 26

SP - 1975

EP - 2004

JO - Concurrency and Computation: Practice and Experience

JF - Concurrency and Computation: Practice and Experience

SN - 1532-0626

IS - 12

ER -

By the same author(s)