IEEE Access (Jan 2019)
Evaluation of Machine Learning Approaches for Android Energy Bugs Detection With Revision Commits
Abstract
Performances of smartphones are profoundly affected by battery life. Maximizing the amount of usage of energy is essential to extend battery life. However, developers might concentrate more on the functionality of applications while ignoring the energy bugs that drain the battery during the development process. There are no quantitative approaches to detect these energy bugs introduced in this fast-paced development process. In this paper, we employ a system-call-based approach to develop a power consumption model for Android devices. Data that measure the energy consumption of mobile devices under different testing scenarios with the number of triggered system calls are utilized in the model training process. A balanced recursive feature elimination with cross-validation approach is proposed to select and rank the importance of the different system calls. Seven machine learning models are trained over the selected features with cross-validation and hyper-parameter tuning technique, where linear regression with the Lasso regularization outperforms all the other models. Then, the model is evaluated on the data set that measures the energy consumption on different revision history of the selected apps. The results show that the optimized Lasso model could detect energy bugs in the revision history of various applications. Optimization strategies are provided based on the selected features.
Keywords