Abstract
Energy efficiency is an important criterion to judge the quality of mobile apps, but one third of our arbitrarily sampled apps suffer from energy issues that can quickly drain battery power. To understand these issues, we conduct an empirical study on 36 well-maintained apps such as Chrome and Firefox, whose issue tracking systems are publicly accessible. Our study involves issue causes, manifestation, fixing efforts, detection techniques, reasons of no-fixes and debugging techniques. Inspired by the empirical study, we propose a novel testing framework for detecting energy issues in real-world mobile apps. Our framework examines apps with well-designed input sequences and runtime context. We develop leading edge technologies, 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 90.4% of the detected issues in our experiments were previously unknown to developers. On average, these issues can double the energy consumption of the test cases where the issues were detected. And our test achieves a low number of false positives. Finally, we show how our test reports can help developers fix the issues.
Original language | English |
---|---|
Article number | 3527851 |
Journal | ACM Transactions on Software Engineering and Methodology |
Volume | 32 |
Issue number | 1 |
Number of pages | 44 |
ISSN | 1049-331X |
DOIs | |
Publication status | Published - 13 Feb 2023 |
Bibliographical note
This article has been found as a "free version" from the publisher on May 18th, 2022. When the access to the article closes, please notify [email protected]Keywords
- Software engineering
- Energy efficiency