一句话:提出主动修订采样,用高斯过程模型以少量测量精确刻画软件跨版本性能演化历史。
软件系统演化过程中,性能历史难以全面追踪,而穷尽式回归测试因每个修订都需执行真实负载的严格基准测试,代价通常不可接受。本文提出主动修订采样方法:迭代地选择并测量特定修订,构建精确的性能演化模型,并用高斯过程模型评估模型在哪些修订区间最不确定,从而指导进一步采样。作者将六个真实软件系统的性能历史建模为时间序列并进行实证分析。结果表明,高斯过程模型仅需少量测量即可准确估计真实系统的性能演化历史,并能揭示有趣的行为与趋势。
Learning from the history of a software system's performance behavior does not only help discovering and locating performance bugs, but also identifying evolutionary performance patterns and general trends, such as when technical debt accumulates. Exhaustive regression testing is usually impractical, because rigorous performance benchmarking requires executing a realistic workload per revision, which results in large execution times. In this paper, we propose a novel active revision sampling approach, which aims at tracking and understanding a system's performance history by approximating the performance behavior of a software system across all of its revisions. In a nutshell, we iteratively sample and measure the performance of specific revisions that help us building an exact performance-evolution model, and we use Gaussian Process models to assess in which revision ranges our model is most uncertain with the goal to sample further revisions for measurement. We have conducted an empirical analysis of the evolutionary performance behavior modeled as a time series of the histories of six real-world software systems. Our evaluation demonstrates that Gaussian Process models are able to accurately estimate the performance-evolution history of real-world software systems with only few measurements and to reveal interesting behaviors and trends.
DOI 原文 ·
@inproceedings{paperbot5214,
title = {Accurate Modeling of Performance Histories for Evolving Software Systems},
author = {Stefan Muhlbauer and Sven Apel and Norbert Siegmund},
booktitle = {ASE},
year = {2019},
doi = {10.1109/ase.2019.00065}
}