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.

Highlights

  • With the thriving evolution of hardware and software components of mobile devices, a lot more attention has been concentrated on promoting the performances of mobile applications while extending the battery life of smartphones

  • Research shows that over 18% of the Android applications in Google play market place have issues with energy efficiency, and the commercial applications have energy consumption problems compared with the freely-available applications [2]

  • Studies has been focused on resolving the energy consumption issues of Android applications in three categories, namely building the energy consumption model, detecting energy bugs with code analysis and optimizing code structures with energy-saving practices

Read more

Summary

Introduction

With the thriving evolution of hardware and software components of mobile devices, a lot more attention has been concentrated on promoting the performances of mobile applications while extending the battery life of smartphones. Based on the dataset that contains the number of system calls triggered by applications as features and the measured energy consumption as labels, our approach builds machine learning models to automate the energy measurement procedure by predicting the energy consumption in each valid commit over the revision history of the development. The optimized model with the best performance is applied to the data set of [9], which collected the energy consumption data for each revision of twenty applications using the hardware mining approach in [10].

Results
Conclusion
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