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...

Full description

Bibliographic Details
Main Authors: Wenhao Fan, Ye Chen, Yuan'An Liu, Fan Wu
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