Change Point Detection in Software Performance Testing

03/01/2020
by   David Daly, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/08/2023

Hunter: Using Change Point Detection to Hunt for Performance Regressions

Change point detection has recently gained popularity as a method of det...
research
10/03/2020

Online Neural Networks for Change-Point Detection

Moments when a time series changes its behaviour are called change point...
research
03/13/2020

An Evaluation of Change Point Detection Algorithms

Change point detection is an important part of time series analysis, as ...
research
12/19/2022

Using Microbenchmark Suites to Detect Application Performance Changes

Software performance changes are costly and often hard to detect pre-rel...
research
01/12/2022

Detecting Ransomware Execution in a Timely Manner

Ransomware has been an ongoing issue since the early 1990s. In recent ti...
research
10/19/2018

Coming: a Tool for Mining Change Pattern Instances from Git Commits

Software repositories such as Git have become a relevant source of infor...
research
05/02/2022

A Change Dynamic Model for the Online Detection of Gradual Change

Changes in the statistical properties of a stochastic process are typica...

Please sign up or login with your details

Forgot password? Click here to reset