EnergyAnalyzer: Using Static WCET Analysis Techniques to Estimate the Energy Consumption of Embedded Applications
Simon Wegener, Kris K. Nikov, Jose Nunez-Yanez, Kerstin Eder

TL;DR
EnergyAnalyzer is a static analysis tool that estimates embedded software energy consumption using WCET analysis techniques and energy models for predictable architectures, aiding energy-aware development.
Contribution
It introduces a novel static analysis approach combining WCET techniques with energy modeling for embedded applications on ARM Cortex-M0 and Gaisler LEON3 architectures.
Findings
Estimated energy consumption differs less than 1% from empirical models.
Validated across numerous benchmarks for two architectures.
Applicable in diverse use cases like neural networks and satellite software.
Abstract
This paper presents EnergyAnalyzer, a code-level static analysis tool for estimating the energy consumption of embedded software based on statically predictable hardware events. The tool utilises techniques usually used for worst-case execution time (WCET) analysis together with bespoke energy models developed for two predictable architectures - the ARM Cortex-M0 and the Gaisler LEON3 - to perform energy usage analysis. EnergyAnalyzer has been applied in various use cases, such as selecting candidates for an optimised convolutional neural network, analysing the energy consumption of a camera pill prototype, and analysing the energy consumption of satellite communications software. The tool was developed as part of a larger project called TeamPlay, which aimed to provide a toolchain for developing embedded applications where energy properties are first-class citizens, allowing the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGreen IT and Sustainability · Parallel Computing and Optimization Techniques · IoT and Edge/Fog Computing
