What is it about?

In this work, we introduce Energy-aware Timing Analysis of intermittent Programs (ETAP), a probabilistic symbolic execution approach that analyzes the timing and energy behavior of intermittent programs at compile time. ETAP symbolically executes the given program while taking time and energy cost models for ambient energy and dynamic energy consumption into account. We evaluate ETAP by comparing the compile-time analysis results of our benchmark codes and real-world application with the results of their executions on real hardware. Our evaluation shows that ETAP’s prediction error rate is between 0.0076% and 10.8%, and it speeds up the timing analysis by at least two orders of magnitude compared to manual testing.

Featured Image

Why is it important?

Our goal in this work is to estimate statically, at compile-time, the timing behavior of intermittent programs considering different energy modes, hardware configurations, program input space, and program structure. The state-of-the-art approaches exploit stochastic models to represent the dynamic energy harvesting environments, e.g., several models based on empirical data for RF and solar energy harvesting environments. Similarly, several techniques extract the energy consumption characteristics of the target microcontroller instruction set to model its energy consumption. These two stochastic models, capacitor size, charging/discharging model, program input space, and program structure form a multidimensional space. The main challenge which we solve is to devise a program analysis solution that considers this multidimensional space to derive, at compile-time, the execution time probabilities of the given intermittent program.


We believe that ETAP is a significant attempt to provide the missing design-time analysis tool support for developing intermittent applications.

Arda Goknil

Read the Original

This page is a summary of: ETAP: Energy-aware Timing Analysis of Intermittent Programs, ACM Transactions on Embedded Computing Systems, January 2023, ACM (Association for Computing Machinery), DOI: 10.1145/3563216.
You can read the full text:



The following have contributed to this page