Measure energy consumption of mobile software applications

Info

Foundations

How Web Content Can Affect Power Usage | WebKit

Tools

Android Studio: Energy Profiler

https://developer.android.com/studio/profile/energy-profiler

Apple Xcode: Energy Log Profiling

https://developer.apple.com/library/archive/documentation/Performance/Conceptual/EnergyGuide-iOS/MonitorEnergyWithInstruments.html

Greenspector

Greenspector#Greenspector Studio allows to run energy measurements of user journeys on real end user devices.

Android Runner (AR)

Android Runner (AR) is a framework for automatically executing measurement-based experiments on native and web apps running on Android devices. In AR, an experiment is defined once in a descriptive fashion, and then its execution is fully automatic, customizable, and replicable. AR is implemented in Python and it can be extended with third-party profilers.

Research paper: @Malavolta.etal.2021.FrameworkAutomaticExecution

Source code: https://github.com/S2-group/android-runner/

Docs: https://github.com/S2-group/android-runner/wiki

🔗 References

Studies

On the Energy Footprint of Mobile Testing Frameworks

L. Cruz and R. Abreu, "On the Energy Footprint of Mobile Testing Frameworks," in IEEE Transactions on Software Engineering, vol. 47, no. 10, pp. 2260-2271, 1 Oct. 2021, doi: 10.1109/ICSE-NIER.2019.00034

EMaaS: Energy Measurements as a Service for Mobile Applications

L. Cruz and R. Abreu, "EMaaS: Energy Measurements as a Service for Mobile Applications," 2019 IEEE/ACM 41st International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER), Montreal, QC, Canada, 2019, pp. 101-104, doi: 10.1109/ICSE-NIER.2019.00034