一句话:EnergyTrackr 是一个模块化开源工具,可自动检测、分类并可视化提交历史中的能耗回归。
能耗效率正成为软件质量的重要维度,但测量变异性和复杂执行环境使能耗回归(能耗的非预期增加)检测困难,且缺少对项目历史能耗行为的系统监测支持。本文提出 EnergyTrackr:它遍历指定的提交集合,构建每个修订版本,并利用基于 RAPL 的 Linux perf 工具执行测试套件来测量应用级能耗,同时采用预热、随机化执行、重复测量和热控制等最佳实践。所得数据经统计流水线处理,过滤离群值,并依据显著性、实际影响等多个准则对能耗变化进行分类。工具生成交互式报告,全面展示能耗演化,并易于集成到现有 Linux 工作流中。在大型 Java 项目上的初步评估表明,EnergyTrackr 能够在大规模下产生稳定测量并有效识别能耗回归。
Energy efficiency is increasingly recognized as an important dimension of software quality. As systems evolve rapidly, tracking how energy consumption changes across versions can provide valuable insights for developers and researchers. Although detecting energy regressions (i.e., unintended increases in energy consumption) remains challenging due to measurement variability and complex execution environments, recent advances now make systematic analysis practical. Still, dedicated support for monitoring energy behavior over a project’s history is missing. This paper presents EnergyTrackr, a modular, open-source tool for automatically detecting, classifying, and visualizing energy regressions across a commit history. EnergyTrackr traverses a specified set of commits, builds each revision, and measures application-level energy consumption by executing the test suite using the RAPL-based Linux perf utility. It applies established best practices for measurements such as warm-up, randomized execution, repetition, and thermal control. The resulting data are analyzed through a statistical pipeline that filters outliers and classifies energy changes using multiple criteria (e.g., significance, practical impact, …). EnergyTrackr generates interactive reports that provide a comprehensive view of energy evolution and is designed for easy integration into existing Linux workflows. A preliminary evaluation on large Java projects shows that EnergyTrackr can produce stable measurements at scale and effectively identify energy regressions.
@inproceedings{paperbot12408,
title = {EnergyTrackr: A Modular Energy Regressions Detection Tool},
author = {François Bechet and Jérôme Maquoi and Luís Cruz and Benoît Vanderose and Xavier Devroey},
booktitle = {ASE},
year = {2026},
doi = {10.1145/3832783.3834640}
}