Hunter: Using Change Point Detection to Hunt for Performance Regressions
Matt Fleming, Piotr Ko{\l}aczkowski, Ishita Kumar, Shaunak Das, Sean, McCarthy, Pushkala Pattabhiraman, Henrik Ingo

TL;DR
Hunter is an open source tool that leverages a modified change point detection algorithm to automatically identify performance regressions and improvements in software time-series data, improving detection accuracy and determinism.
Contribution
This paper introduces Hunter, a tool with modifications to the E-divisive means algorithm, enhancing change point detection for performance analysis in noisy data environments.
Findings
Hunter outperforms PELT and DYNP in detecting change points.
Modifications to the algorithm improve detection of nearby changes.
Using Student's t-test increases result determinism.
Abstract
Change point detection has recently gained popularity as a method of detecting performance changes in software due to its ability to cope with noisy data. In this paper we present Hunter, an open source tool that automatically detects performance regressions and improvements in time-series data. Hunter uses a modified E-divisive means algorithm to identify statistically significant changes in normally-distributed performance metrics. We describe the changes we made to the E-divisive means algorithm along with their motivation. The main change we adopted was to replace the significance test using randomized permutations with a Student's t-test, as we discovered that the randomized approach did not produce deterministic results, at least not with a reasonable number of iterations. In addition we've made tweaks that allow us to find change points the original algorithm would not, such as…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Software Testing and Debugging Techniques · Software Reliability and Analysis Research
