Automated detection of performance regressions using statistical process control techniques

  • Authors:
  • Thanh H.D. Nguyen;Bram Adams;Zhen Ming Jiang;Ahmed E. Hassan;Mohamed Nasser;Parminder Flora

  • Affiliations:
  • Queen's University, Kingston, ON, Canada;Queen's University, Kingston, ON, Canada;Queen's University, Kingston, ON, Canada;Queen's University, Kingston, ON, Canada;Performance Engineering, Research In Motion (RIM), Waterloo, Ontario, Canada;Queen's University, Kingston, ON, Canada

  • Venue:
  • ICPE '12 Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The goal of performance regression testing is to check for performance regressions in a new version of a software system. Performance regression testing is an important phase in the software development process. Performance regression testing is very time consuming yet there is usually little time assigned for it. A typical test run would output thousands of performance counters. Testers usually have to manually inspect these counters to identify performance regressions. In this paper, we propose an approach to analyze performance counters across test runs using a statistical process control technique called control charts. We evaluate our approach using historical data of a large software team as well as an open-source software project. The results show that our approach can accurately identify performance regressions in both software systems. Feedback from practitioners is very promising due to the simplicity and ease of explanation of the results.