Detecting Wake Lock Leaks in Android Apps Using Machine Learning

2021 
The popularity of Android devices has increased exponentially with an increase in the number of mobile devices. Millions of online apps are used in these devices. Energy consumption of a device is a major concern for end-users, who want a long usage time on a single battery charge. The energy consumed by the app must be optimized by developers, and the available APIs must be used carefully. A wake-lock is used in apps to control the power state of the Android device and often leads to energy leakage. In this study, we detected wake-lock leaks in Android apps using machine learning. We pre-processed apps by extracting wake-lock related APIs to obtain the structural information of wake-lock usage and oversampled the data using the synthetic minority oversampling technique (SMOTE) to balance the dataset. The machine learning algorithms used to detect wake-lock leaks were first optimized using grid search to determine the best parameters. These parameters were then used in training to detect wake-lock leaks in these apps. We employed various machine learning algorithms and divided them into simple and ensemble algorithms to evaluate their efficacy. The support vector machine (SVM) and stochastic gradient boosting (SGB) were the most effective, producing 97 % and 98 % accuracy, respectively.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    56
    References
    1
    Citations
    NaN
    KQI
    []