The SoftAWERE project develops tools enabling IT developers to measure and transparently display the energy consumption of software components. Max Schulze presented the approach at the OOP Conference 2022.
Resource consumption has long played little role in software development. This is changing: In all industries — including software development — the topic is increasingly coming into focus.
The Four Digital Resources of Software
Software consumes four digital resources:
Network bandwidth
Storage capacity
Memory
CPU time
IDED summarizes these four resources as "digital energy"—driven by electrical energy. The devices that consume digital energy are essentially conversion machines: they convert electrical into digital energy—from smartphones to servers. These devices leave an environmental footprint through the resources consumed in their production, as well as through their ongoing power consumption.
The SoftAWERE Project
The goal of the SoftAWERE project is precisely this: to develop tools that can determine the electrical energy consumption of software. Much of modern software development is based on assembling existing open-source libraries and software components. SoftAWERE aims to make the electrical energy consumption of these libraries and components transparent—so that developers and architects can estimate how much electricity the finished application will consume.
For example, a badge on GitHub or similar platforms could be conceivable, indicating the power consumption when selecting a component.
How is Energy Consumption Measured?
SoftAWERE implements tests to measure the energy efficiency of individual software components. Power consumption is measured during test execution, and the results are incorporated into the CI/CD process. The project examines numerous programming languages (Python, Java, C++ among others) and development environments (Android Studio, Visual Studio, Eclipse IDE among others).