Wake Lock Leak Detection in Android Apps Using Multi-Layer Perceptron

With the proliferation of mobile devices, the popularity of Android applications (apps) has increased exponentially. Efficient power consumption in a device is essential from the perspective of the user because users want their devices to work all day. Developers must properly utilize the applicatio...

Full description

Bibliographic Details
Main Authors: Muhammad Umair Khan, Scott Uk-Jin Lee, Zhiqiang Wu, Shanza Abbas
Format: Article
Language:English
Published: MDPI AG 2021-09-01
Series:Electronics
Subjects:
Online Access:https://www.mdpi.com/2079-9292/10/18/2211
_version_ 1797519553763213312
author Muhammad Umair Khan
Scott Uk-Jin Lee
Zhiqiang Wu
Shanza Abbas
author_facet Muhammad Umair Khan
Scott Uk-Jin Lee
Zhiqiang Wu
Shanza Abbas
author_sort Muhammad Umair Khan
collection DOAJ
description With the proliferation of mobile devices, the popularity of Android applications (apps) has increased exponentially. Efficient power consumption in a device is essential from the perspective of the user because users want their devices to work all day. Developers must properly utilize the application programming interfaces (APIs) provided by Android software development kit to optimize the power consumption of their app. Occasionally, developers fail to relinquish the resources required by their app, resulting in a resource leak. Wake lock APIs are used in apps to manage the power state of the Android smartphone, and they frequently consume more power than necessary if not used appropriately (also called energy leak). In this study, we use a multi-layer perceptron (MLP) to detect wake lock leaks in Android apps because the MLP can solve complex problems and determine similarities in graphs. To detect wake lock leaks, we extract the call graph as features from the APK and embed the instruction and neighbor information in the node’s label of the call graph. Then, the encoded data are input to an MLP model for training and testing. We demonstrate that our model can identify wake lock leaks in apps with 99% accuracy.
first_indexed 2024-03-10T07:44:24Z
format Article
id doaj.art-5de7dc24d5b143cba3b190a8a612415d
institution Directory Open Access Journal
issn 2079-9292
language English
last_indexed 2024-03-10T07:44:24Z
publishDate 2021-09-01
publisher MDPI AG
record_format Article
series Electronics
spelling doaj.art-5de7dc24d5b143cba3b190a8a612415d2023-11-22T12:47:31ZengMDPI AGElectronics2079-92922021-09-011018221110.3390/electronics10182211Wake Lock Leak Detection in Android Apps Using Multi-Layer PerceptronMuhammad Umair Khan0Scott Uk-Jin Lee1Zhiqiang Wu2Shanza Abbas3Department of Computer Science and Engineering, Hanyang University, Ansan 15588, KoreaDepartment of Computer Science and Engineering, Hanyang University, Ansan 15588, KoreaDepartment of Computer Science and Engineering, Hanyang University, Ansan 15588, KoreaDepartment of Computer Science and Engineering, Hanyang University, Ansan 15588, KoreaWith the proliferation of mobile devices, the popularity of Android applications (apps) has increased exponentially. Efficient power consumption in a device is essential from the perspective of the user because users want their devices to work all day. Developers must properly utilize the application programming interfaces (APIs) provided by Android software development kit to optimize the power consumption of their app. Occasionally, developers fail to relinquish the resources required by their app, resulting in a resource leak. Wake lock APIs are used in apps to manage the power state of the Android smartphone, and they frequently consume more power than necessary if not used appropriately (also called energy leak). In this study, we use a multi-layer perceptron (MLP) to detect wake lock leaks in Android apps because the MLP can solve complex problems and determine similarities in graphs. To detect wake lock leaks, we extract the call graph as features from the APK and embed the instruction and neighbor information in the node’s label of the call graph. Then, the encoded data are input to an MLP model for training and testing. We demonstrate that our model can identify wake lock leaks in apps with 99% accuracy.https://www.mdpi.com/2079-9292/10/18/2211wake lockAndroidoversamplingpower consumptionmulti-layer perceptron
spellingShingle Muhammad Umair Khan
Scott Uk-Jin Lee
Zhiqiang Wu
Shanza Abbas
Wake Lock Leak Detection in Android Apps Using Multi-Layer Perceptron
Electronics
wake lock
Android
oversampling
power consumption
multi-layer perceptron
title Wake Lock Leak Detection in Android Apps Using Multi-Layer Perceptron
title_full Wake Lock Leak Detection in Android Apps Using Multi-Layer Perceptron
title_fullStr Wake Lock Leak Detection in Android Apps Using Multi-Layer Perceptron
title_full_unstemmed Wake Lock Leak Detection in Android Apps Using Multi-Layer Perceptron
title_short Wake Lock Leak Detection in Android Apps Using Multi-Layer Perceptron
title_sort wake lock leak detection in android apps using multi layer perceptron
topic wake lock
Android
oversampling
power consumption
multi-layer perceptron
url https://www.mdpi.com/2079-9292/10/18/2211
work_keys_str_mv AT muhammadumairkhan wakelockleakdetectioninandroidappsusingmultilayerperceptron
AT scottukjinlee wakelockleakdetectioninandroidappsusingmultilayerperceptron
AT zhiqiangwu wakelockleakdetectioninandroidappsusingmultilayerperceptron
AT shanzaabbas wakelockleakdetectioninandroidappsusingmultilayerperceptron