Abstract

Smartphones are the most ubiquitous and popular hand-held devices because of their rich set of features and wide variety of services that require frequent battery recharging. In smartphones, most energy issues are due to energy bugs (ebugs). These ebugs are said to be exist when smartphone software applications (apps) consume more power than expected while executing, or they continue to consume energy even after these apps are closed or terminated. In this research, we introduce the concept of application tail energy bugs (ATEBs) and provide an operational definition for it. Then, we discuss about the main potential causes of ATEBs and the user actions that can trigger them. To provide a proof of concept, we conduct experiments using real Android apps. To identify all the scenarios that can cause ATEBs, we develop a testing app and perform 32 experiments. The main goal of the experiments is to check the behavior of app components, such as activities and services in the presence/absence of four different types of wakelocks. Then, we discuss the relationship between software changes and energy consumption by tracing wakelocks that keep the device awake and services that might be engaging the CPU. The power consumption of the app is measured using the monsoon power meter. Because power meters are not often available to software developers, we design a tool to detect ATEBs. This tool utilizes Android debug bridge (adb) commands to extract system-related information. The tool effectiveness is evaluated using five Android apps.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call