A Zero-Positive Learning Approach for Diagnosing Software Performance Regressions

A Zero-Positive Learning Approach for Diagnosing Software Performance Regressions
复制标题

DOI:
--
复制
发表时间:
2017-09
期刊:
--
影响因子:
--
通讯作者:
Mejbah Alam;Justin Emile Gottschlich;Nesime Tatbul;Javier Turek;T. Mattson;A. Muzahid
Mejbah Alam;Justin Emile Gottschlich;Nesime Tatbul;Javier Turek;T. Mattson;A. Muzahid
中科院分区:
其他
文献类型:
--
作者:
Mejbah Alam;Justin Emile Gottschlich;Nesime Tatbul;Javier Turek;T. Mattson;A. Muzahid

文献摘要

相似文献

机器编程(MP)领域,即软件开发的自动化,正在取得显着的研究进展。这在一定程度上是由于机器学习领域广泛的新技术的出现。在本文中,我们将MP应用于软件性能回归测试的自动化。性能回归是由代码更改引起的软件性能下降。我们提出 AutoPerf - 一种自动回归测试的新颖方法,它利用三种核心技术:(i) 零正学习、(ii) 自动编码器和 (iii) 硬件遥测。我们通过 7 个基准测试和开源程序中的 10 个实际性能错误,针对 3 种类型的性能回归,展示了 AutoPerf 的通用性和有效性。平均而言,AutoPerf 的分析开销为 4%,并且比之前最先进的方法能够准确诊断更多的性能错误。到目前为止,AutoPerf 尚未产生任何漏报。
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.