Weighted Metrics for the Development of Energy Efficient Software
Déaglán Connolly Bree, Mel Ó Cinnéide · 2024
Software metrics are measurable characteristics of software. They are commonly used to quantify qualitative aspects of software like internal quality and complexity. Energy-aware developers and researchers alike would benefit from the discovery of a static metric that correlates well with energy performance, as static metrics can be calculated at compile time rather than requiring run-time energy profiling. However, no static metric has been found that is a reliable indicator of energy performance to date. This work proposes a novel approach that employs run-time profiles to appropriately weight compile-time metrics in an effort to more accurately predict the energy performance of the software at run-time. Preliminary investigations using data from previous works highlight the potential for mean weighted coupling between objects (CBO) to be an indicator of energy performance. A subsequent experiment was conducted with a small application which was automatically refactored to reduce CBO, and consequently mean weighted CBO. Results are in line with the finding that increasing mean weighted CBO reduces energy consumption.