378 0

Automatic Detection of Energy Leaks in Android Applications using Multi-Layer Perceptron

Title
Automatic Detection of Energy Leaks in Android Applications using Multi-Layer Perceptron
Author
칸무하마드우메어
Alternative Author(s)
칸무하마드우메어
Advisor(s)
Scott Uk-Jin Lee
Issue Date
2022. 2
Publisher
한양대학교
Degree
Doctor
Abstract
The popularity of Android devices has increased exponentially and millions of online apps are used on these devices. These apps provide different functionalities using display, CPU, and sensors available on the device. The device's battery has limited capacity, and efficient battery usages from the hardware and software of the device are essential for users. As software engineers, we must properly utilize the Application Programming Interfaces (APIs) provided by the Android Software Development Kit (SDK) to optimize the power consumption of the apps. The use of wake lock APIs is common in Android apps where it controls the power-hungry components such as display and CPU. The acquired wake lock needs to be released after completing the work, but sometimes it is not released, leading to unwanted power consumption. In addition, the Android version is updated annually and apps need to make changes accordingly to support new versions. Existing energy leak detection tools are not maintained regularly and cannot detect leaks in new apps versions due to the changes in corresponding APIs. In order to solve such a problem, we proposed an energy leak detection framework using Multi-Layer Perceptron (MLP). In this framework, we collected a dataset containing apps with energy leaks and clean apps. The collected apps were analyzed and labeled manually where the labeled data was preprocessed by extracting call graphs and embedding the instruction and neighbor information. Finally, the preprocessed data is converted into a vector and used to train the MLP model where the results illustrate that MLP can detect energy leaks with high accuracy. We also compare the framework with machine learning algorithms and state-of-the-art tool and shows that MLP has higher accuracy and a low false-positive rate.|안드로이드 기기의 인기는 기하급수적으로 증가했고 수백만 개의 온라인 앱이 이 기기에서 사용되고 있다. 이러한 앱들은 장치에서 사용할 수 있는 디스플레이, CPU 및 센서를 사용하여 다양한 기능을 제공합니다. 기기의 배터리는 용량이 제한되어 있으며, 기기의 하드웨어와 소프트웨어의 효율적인 배터리 사용은 사용자에게 필수적이다. 소프트웨어 엔지니어로서 우리는 앱의 전력 소비를 최적화하기 위해 Android SDK(Software Development Kit)가 제공하는 API(Application Programming Interface)를 적절히 활용해야 합니다. 그 중 Wake Lock API 는 디스플레이 및 CPU 와 같은 전력 소모가 많은 구성 요소를 제어하는 안드로이드 앱에서 흔히 사용됩니다. Wake Lock API 를 사용하여 획득한 웨이크락은 작업을 마친 후 해제해야 하는데 해제되지 않아 원치 않는 전력 소모가 발생하는 경우가 있다. 이러한 의도치 않은 전력 소모를 찾아 누수를 해결하기 위한 다양한 에너지 누출 감지 툴들이 존재한다. 하지만 기존의 툴들은 매년 업데이트되는 안드로이드에 맞춰서 유지 보수도지 않고 있으며 해당 API 의 변경으로 인해 새로운 안드로이드 버전의 앱에서는 누출을 감지할 수 없다는 문제점이 있다. 이러한 문제를 해결하기 위해 MLP(Multi-Layer Perceptron)를 사용한 에너지 누출 감지 프레임워크를 제안한다. 이 프레임워크에서는 에너지 누출이 있는 앱과 클린 앱이 포함된 데이터 세트를 수집하여 수동으로 분석하고 레이블을 지정한 후 호출 그래프를 추출하고 명령과 인접 정보를 포함함으로써 사전 처리한다. 마지막으로, 사전 처리된 데이터를 벡터로 변환한 후 MLP 모델을 교육하는 데 사용하여 MLP 는 높은 정확도로 에너지 누출을 감지할 수 있다. 또한 이 프레임워크를 기계 학습 알고리즘 및 최첨단 도구와 비교시 MLP 가 더 높은 정확도와 낮은 거짓 양성률을 가지고 있음을 보였다
URI
http://hanyang.dcollection.net/common/orgView/200000590848https://repository.hanyang.ac.kr/handle/20.500.11754/167524
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > COMPUTER SCIENCE & ENGINEERING(컴퓨터공학과) > Theses (Ph.D.)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE