Search papers, labs, and topics across Lattice.
This paper introduces EnergyTrackr, a novel approach for automatically detecting energy regressions across commits in Java projects by identifying statistically significant changes in energy consumption. EnergyTrackr analyzes 3,232 commits from three Java projects to identify energy regressions and correlate them with specific code anti-patterns. The evaluation reveals recurring anti-patterns like missing early exits and costly dependency upgrades that contribute to increased energy consumption.
EnergyTrackr spots energy regressions across commits and links them to specific code anti-patterns, offering developers a way to pinpoint and fix energy hogs in their Java code.
Green software engineering is emerging as a crucial response to information technology's rising energy impact, especially in continuous development. However, there remain challenges in devising automated methods for identifying energy regressions across commits and their associated code change patterns. In particular, little effort has been put into automatically detecting regressions at the commit level by identifying statistically significant changes in energy consumption. In this paper, we introduce EnergyTrackr, an approach designed to detect energy regressions across multiple commits that can then be used to identify code anti-patterns potentially contributing to the increase of software energy consumption over time. We describe our empirical evaluation, including repository mining and source code analysis, made on 3,232 commits from three Java projects, and show the approach's ability to identify significant energy changes. We also highlight recurring anti-patterns such as missing early exits or costly dependency upgrades. We expect EnergyTrackr to assist developers in accurately monitoring energy regressions and improvements within their projects, identifying code anti-patterns, and helping them optimize their source code to reduce software energy consumption.