Understanding Android Application Programming and Security: A Dynamic Study
Authors:
- Haipeng CaiHaipeng Cai
- Barbara G. RyderBRBarbara G. Ryder
- 1 September 2017
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 364-375
Abstract
Most existing research for Android focuses on particular security issues, yet there is little broad understanding of Android application run-time characteristics and their implications. To mitigate this gap, we present the first systematic dynamic characterization study of Android apps that targets a broad understanding of application behaviors in Android. Through lightweight method-level profiling, we collected 59GB traces of method calls and Intent-based inter-component communication (ICC) from 125 popular Android apps and 62 pairs among them that enabled an intensive empirical investigation of their run-time behaviors. Our study revealed that, among other findings, (1) the application executions were overwhelmingly dominated by the Android framework, (2) Activity components dominated over other types of components and were responsible for most lifecycle callbacks (3) most event handlers dealt with user interactions as opposed to system events, (4) the majority of exercised ICCs did not carry any data payloads, and (5) sensitive data sources and sinks targeted only one/two dominant categories of information or operations. We also discuss the implications of our results for cost-effective program analysis and security defense for Android.Keywords
This publication has 39 references indexed in Scilit:
- Securacy2015
- Securing AndroidACM Computing Surveys, 2015
- A comprehensive study of the predictive accuracy of dynamic change-impact analysisJournal of Systems and Software, 2015
- In defense of soundinessCommunications of the ACM, 2015
- Android Security: A Survey of Issues, Malware Penetration, and DefensesIEEE Communications Surveys & Tutorials, 2014
- FlowDroidACM SIGPLAN Notices, 2014
- Understanding Human-Smartphone Concerns: A Study of Battery Life2011
- Taming Information-Stealing Smartphone Applications (on Android)2011
- Execution trace analysis through massive sequence and circular bundle viewsJournal of Systems and Software, 2008
- Interaction tree algorithms to extract effective architecture and layered performance models from tracesJournal of Systems and Software, 2007