4.6 Article

A Longitudinal Study of Application Structure and Behaviors in Android

Journal

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
Volume 47, Issue 12, Pages 2934-2955

Publisher

IEEE COMPUTER SOC
DOI: 10.1109/TSE.2020.2975176

Keywords

Androids; Humanoid robots; Security; Runtime; Measurement; Codes; Android; code structure; app behavior; longitudinal study; evolution; app analysis; security; ICC

Ask authors/readers for more resources

This study analyzes the characteristics and behaviors of Android apps over a span of eight years, revealing trends such as increasing reliance on Android framework/SDK, dominance of Activity components, and a focus on user-interface events in event-handling callbacks. It also showed that the overall use of callbacks is decreasing over time, inter-component communications often do not carry data payloads, and sensitive data sources and sinks target specific categories with stable rankings. The findings have implications for cost-effective app analysis and security defense on Android platforms.
With the rise of the mobile computing market, Android has received tremendous attention from both academia and industry. Application programming in Android is known to have unique characteristics, and Android apps be particularly vulnerable to various security attacks. In response, numerous solutions for particular security issues have been proposed. However, there is little broad understanding about Android app code structure and behaviors along with their implications for app analysis and security defense, especially in an evolutionary perspective. To mitigate this gap, we present a longitudinal characterization study of Android apps to systematically investigate how they are built and execute over time. Through lightweight static analysis and method-level tracing, we examined the code and execution of 17,664 apps sampled from the apps developed in each of eight past years, with respect to metrics in three complementary dimensions. Our study revealed that (1) apps functionalities heavily rely on the Android framework/SDK, and the reliance continues to grow, (2) Activity components constantly dominated over other types of components and were responsible for the invocation of most lifecycle callbacks, (3) event-handling callbacks consistently focused more on user-interface events than system events, (4) the overall use of callbacks has been slowly diminishing over time, (5) the majority of exercised inter-component communications (ICCs) did not carry any data payloads, and (6) sensitive data sources and sinks targeted only one/two dominant categories of information or operations, and the ranking of source/sink categories remained quite stable throughout the eight years. We discuss the implications of our empirical findings for cost-effective app analysis and security defense for Android, and make cost-effectiveness improvement recommendations accordingly.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.6
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available