DroidARA: Android Application Automatic Categorization Based on API Relationship Analysis
An application (app) market with well-managed categorization will help users with app search and recommendation. Current categorization methods in app markets mainly rely on manual operation. Existing approaches for automatic Android app categorization suffer from low efficiency and low accuracy due...
Main Authors: | , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2019-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/8876593/ |
_version_ | 1818855311163785216 |
---|---|
author | Wenhao Fan Ye Chen Yuan'An Liu Fan Wu |
author_facet | Wenhao Fan Ye Chen Yuan'An Liu Fan Wu |
author_sort | Wenhao Fan |
collection | DOAJ |
description | An application (app) market with well-managed categorization will help users with app search and recommendation. Current categorization methods in app markets mainly rely on manual operation. Existing approaches for automatic Android app categorization suffer from low efficiency and low accuracy due to insufficient analysis of features, or inappropriate choice of features. This will mislead users to download unrelated apps and is not conducive to market stability maintenance. In this paper, we propose DroidARA, an efficient automatic categorization method for Android apps based on API relationships analysis. Considering that the app category can be characterized by API relationships which represent the combinations and links among APIs, we design a complete system to generate API call graphs, extract the API relationships information, transform them into feature vectors and train the classifier. Firstly, the API calls are obtained through static analysis to generate API call graphs that contain the relationships among APIs. A novel matrix structure as well as related algorithm are designed to extract the API relationships information from API call graphs. After that, the matrix is transformed into vector according to two feature selection methods we designed for strengthening the use of effective information in the API relationships. A convolutional neural network (CNN) model is then trained with labeled samples of such feature vectors. To validate the feasibility of DroidARA, we conduct several categorization experiments on 19949 real apps of Google Play. The results demonstrate that DroidARA can achieve an average 88.9% accuracy in categorizing the apps into 24 categories, which outperforms existing methods by 18.5%. |
first_indexed | 2024-12-19T08:06:35Z |
format | Article |
id | doaj.art-30b60c8ff34d483fb62a39f87a956464 |
institution | Directory Open Access Journal |
issn | 2169-3536 |
language | English |
last_indexed | 2024-12-19T08:06:35Z |
publishDate | 2019-01-01 |
publisher | IEEE |
record_format | Article |
series | IEEE Access |
spelling | doaj.art-30b60c8ff34d483fb62a39f87a9564642022-12-21T20:29:44ZengIEEEIEEE Access2169-35362019-01-01715798715799610.1109/ACCESS.2019.29482128876593DroidARA: Android Application Automatic Categorization Based on API Relationship AnalysisWenhao Fan0https://orcid.org/0000-0001-5288-8708Ye Chen1Yuan'An Liu2Fan Wu3https://orcid.org/0000-0002-1286-7141Beijing Key Laboratory of Work Safety Intelligent Monitoring, School of Electronic Engineering, Beijing University of Posts and Telecommunications, Beijing, ChinaBeijing Key Laboratory of Work Safety Intelligent Monitoring, School of Electronic Engineering, Beijing University of Posts and Telecommunications, Beijing, ChinaBeijing Key Laboratory of Work Safety Intelligent Monitoring, School of Electronic Engineering, Beijing University of Posts and Telecommunications, Beijing, ChinaBeijing Key Laboratory of Work Safety Intelligent Monitoring, School of Electronic Engineering, Beijing University of Posts and Telecommunications, Beijing, ChinaAn application (app) market with well-managed categorization will help users with app search and recommendation. Current categorization methods in app markets mainly rely on manual operation. Existing approaches for automatic Android app categorization suffer from low efficiency and low accuracy due to insufficient analysis of features, or inappropriate choice of features. This will mislead users to download unrelated apps and is not conducive to market stability maintenance. In this paper, we propose DroidARA, an efficient automatic categorization method for Android apps based on API relationships analysis. Considering that the app category can be characterized by API relationships which represent the combinations and links among APIs, we design a complete system to generate API call graphs, extract the API relationships information, transform them into feature vectors and train the classifier. Firstly, the API calls are obtained through static analysis to generate API call graphs that contain the relationships among APIs. A novel matrix structure as well as related algorithm are designed to extract the API relationships information from API call graphs. After that, the matrix is transformed into vector according to two feature selection methods we designed for strengthening the use of effective information in the API relationships. A convolutional neural network (CNN) model is then trained with labeled samples of such feature vectors. To validate the feasibility of DroidARA, we conduct several categorization experiments on 19949 real apps of Google Play. The results demonstrate that DroidARA can achieve an average 88.9% accuracy in categorizing the apps into 24 categories, which outperforms existing methods by 18.5%.https://ieeexplore.ieee.org/document/8876593/AndroidcategorizationAPI relationshipstatic analysis |
spellingShingle | Wenhao Fan Ye Chen Yuan'An Liu Fan Wu DroidARA: Android Application Automatic Categorization Based on API Relationship Analysis IEEE Access Android categorization API relationship static analysis |
title | DroidARA: Android Application Automatic Categorization Based on API Relationship Analysis |
title_full | DroidARA: Android Application Automatic Categorization Based on API Relationship Analysis |
title_fullStr | DroidARA: Android Application Automatic Categorization Based on API Relationship Analysis |
title_full_unstemmed | DroidARA: Android Application Automatic Categorization Based on API Relationship Analysis |
title_short | DroidARA: Android Application Automatic Categorization Based on API Relationship Analysis |
title_sort | droidara android application automatic categorization based on api relationship analysis |
topic | Android categorization API relationship static analysis |
url | https://ieeexplore.ieee.org/document/8876593/ |
work_keys_str_mv | AT wenhaofan droidaraandroidapplicationautomaticcategorizationbasedonapirelationshipanalysis AT yechen droidaraandroidapplicationautomaticcategorizationbasedonapirelationshipanalysis AT yuananliu droidaraandroidapplicationautomaticcategorizationbasedonapirelationshipanalysis AT fanwu droidaraandroidapplicationautomaticcategorizationbasedonapirelationshipanalysis |