Automatic detection of performance anti-patterns in inter-component communications

Performance problems such as high response times in software applications have a significant effect on the customer's satisfaction. In enterprise applications, performance problems are frequently manifested in inefficient or unnecessary communication patterns between software components originating from poor architectural design or implementation. Due to high manual effort, thorough performance analysis is often neglected, in practice. In order to overcome this problem, automated engineering approaches are required for the detection of performance problems. In this paper, we introduce several heuristics for measurement-based detection of well-known performance anti-patterns in inter-component communications. The detection heuristics comprise load and instrumentation descriptions for performance tests as well as corresponding detection rules. We integrate these heuristics with Dynamic Spotter, a framework for automatic detection of performance problems. We evaluate our heuristics on four evaluation scenarios based on an e-commerce benchmark (TPC-W) where the heuristics detect the expected communication performance anti-patterns and pinpoint their root causes.

[1]  David Osborne,et al.  J2EE AntiPatterns , 2003 .

[2]  Chen Fu,et al.  Automatically finding performance problems with feedback-directed learning software testing , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[3]  Daniel A. Menascé,et al.  TPC-W: A Benchmark for E-Commerce , 2002, IEEE Internet Comput..

[4]  Jens Happe,et al.  Supporting swift reaction: Automatically uncovering performance problems by systematic experiments , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[5]  Jian Huang Understanding Gigabit Ethernet Performance on Sun Fire™ Systems , 2003 .

[6]  Anne Koziolek,et al.  Detection and solution of software performance antipatterns in palladio architectural models , 2011, ICPE '11.

[7]  Connie U. Smith,et al.  Software performance antipatterns , 2000, WOSP '00.

[8]  Connie U. Smith,et al.  More New Software Antipatterns: Even More Ways to Shoot Yourself in the Foot , 2003, Int. CMG Conference.

[9]  John Murphy,et al.  Extracting Interactions in Component-Based Systems , 2008, IEEE Transactions on Software Engineering.

[10]  Vittorio Cortellessa,et al.  Digging into UML models to remove performance antipatterns , 2010, QUOVADIS '10.

[11]  Alexander Wert,et al.  Performance problem diagnostics by systematic experimentation , 2013, WCOP '13.

[12]  Marcos K. Aguilera,et al.  Performance debugging for distributed systems of black boxes , 2003, SOSP '03.

[13]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[14]  John Murphy,et al.  Detecting Performance Antipatterns in Component Based Enterprise Systems , 2008, J. Object Technol..

[15]  Gilbert Hamann,et al.  Automated performance analysis of load tests , 2009, 2009 IEEE International Conference on Software Maintenance.

[16]  Ying Zou,et al.  Mining Performance Regression Testing Repositories for Automated Performance Analysis , 2010, 2010 10th International Conference on Quality Software.

[17]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[18]  Rick Kazman,et al.  A Software Architecture Reconstruction Method , 1999, WICSA.

[19]  C. U. Smith More New Software Performance Antipatterns : Even More Ways to Shoot Yourself in the Foot , 2000 .

[20]  Connie U. Smith,et al.  Software Performance AntiPatterns; Common Performance Problems and their Solutions , 2001, Int. CMG Conference.

[21]  Patrick O'Sullivan,et al.  Applying Frequent Sequence Mining to Identify Design Flaws in Enterprise Software Systems , 2007, MLDM Posters.

[22]  F. Pukelsheim The Three Sigma Rule , 1994 .

[23]  Jing Xu,et al.  Rule-based automatic software performance diagnosis and improvement , 2008, WOSP '08.

[24]  Barton P. Miller,et al.  The Paradyn Parallel Performance Measurement Tool , 1995, Computer.

[25]  Petr Tuma,et al.  Repeated results analysis for middleware regression benchmarking , 2005, Perform. Evaluation.