The use of change point detection to identify software performance regressions in a continuous integration system

40Citations
Citations of this article
23Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We describe our process for automatic detection of performance changes for a software product in the presence of noise. A large collection of tests run periodically as changes to our software product are committed to our source repository, and we would like to identify the commits responsible for performance regressions. Previously, we relied on manual inspection of time series graphs to identify significant changes. That was later replaced with a threshold-based detection system, but neither system was sufficient for finding changes in performance in a timely manner. This work describes our recent implementation of a change point detection system built upon the E-Divisive means algorithm. The algorithm produces a list of change points representing significant changes from a given history of performance results. A human reviews the list of change points for actionable changes, which are then triaged for further inspection. Using change point detection has had a dramatic impact on our ability to detect performance changes. Quantitatively, it has dramatically dropped our false positive rate for performance changes, while qualitatively it has made the entire performance evaluation process easier, more productive (ex. catching smaller regressions), and more timely.

Cite

CITATION STYLE

APA

Daly, D., Brown, W., Ingo, H., O’Leary, J., & Bradford, D. (2020). The use of change point detection to identify software performance regressions in a continuous integration system. In ICPE 2020 - Proceedings of the ACM/SPEC International Conference on Performance Engineering (pp. 67–75). Association for Computing Machinery, Inc. https://doi.org/10.1145/3358960.3375791

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free