English

A Zero-Positive Learning Approach for Diagnosing Software Performance Regressions

Software Engineering 2020-01-03 v6 Neural and Evolutionary Computing Performance

Abstract

The field of machine programming (MP), the automation of the development of software, is making notable research advances. This is, in part, due to the emergence of a wide range of novel techniques in machine learning. In this paper, we apply MP to the automation of software performance regression testing. A performance regression is a software performance degradation caused by a code change. We present AutoPerf - a novel approach to automate regression testing that utilizes three core techniques: (i) zero-positive learning, (ii) autoencoders, and (iii) hardware telemetry. We demonstrate AutoPerf's generality and efficacy against 3 types of performance regressions across 10 real performance bugs in 7 benchmark and open-source programs. On average, AutoPerf exhibits 4% profiling overhead and accurately diagnoses more performance bugs than prior state-of-the-art approaches. Thus far, AutoPerf has produced no false negatives.

Keywords

Cite

@article{arxiv.1709.07536,
  title  = {A Zero-Positive Learning Approach for Diagnosing Software Performance Regressions},
  author = {Mejbah Alam and Justin Gottschlich and Nesime Tatbul and Javier Turek and Timothy Mattson and Abdullah Muzahid},
  journal= {arXiv preprint arXiv:1709.07536},
  year   = {2020}
}
R2 v1 2026-06-22T21:51:16.047Z