# Detecting and Diagnosing Energy Issues for Mobile Applications

**Authors:** Xueliang Li, Yuming Yang, Yepang liu, John P. Gallagher, Kaishun Wu

arXiv: 1901.01062 · 2019-04-02

## TL;DR

This paper presents a novel testing framework that detects energy issues in mobile apps by analyzing workloads and contexts, revealing many previously unknown problems that significantly impact battery life.

## Contribution

The paper introduces a new testing framework combining machine learning and context-aware testing to identify energy issues overlooked by existing methods.

## Key findings

- 91.6% of detected issues were previously unknown to developers
- Energy issues can double app energy consumption
- The framework achieves low false positive rates

## Abstract

Energy efficiency is an important criterion to judge the quality of mobile apps, but one third of our randomly sampled apps suffer from energy issues that can quickly drain battery power. To understand these issues, we conducted an empirical study on 27 well-maintained apps such as Chrome and Firefox, whose issue tracking systems are publicly accessible. Our study revealed that the main root causes of energy issues include unnecessary workload and excessively frequent operations. Surprisingly, these issues are beyond the application of present technology on energy issue detection. We also found that 20.6% of energy issues can only manifest themselves under specific contexts such as poor network performance, but such contexts are again neglected by present technology. Therefore, we proposed a novel testing framework for detecting energy issues in real-world apps. Our framework examines apps with well-designed input sequences and runtime contexts. To identify the root causes mentioned above, we employed a machine learning algorithm to cluster the workloads and further evaluate their necessity. For the issues concealed by the specific contexts, we carefully set up several execution contexts to pinpoint them. More importantly, we developed leading edge technology, e.g. pre-designing input sequences with potential energy overuse and tuning tests on-the-fly, to achieve high efficacy in detecting energy issues. A large-scale evaluation shows that 91.6% issues detected in our test were previously unknown to developers. On average, these issues double the energy costs of the apps. Furthermore, our test achieves a low number of false positives. Finally, we show how our test reports can help developers fix the issues.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1901.01062/full.md

## Figures

9 figures with captions in the complete paper: https://tomesphere.com/paper/1901.01062/full.md

## References

43 references — full list in the complete paper: https://tomesphere.com/paper/1901.01062/full.md

---
Source: https://tomesphere.com/paper/1901.01062