Title :
Static Control-Flow Analysis of User-Driven Callbacks in Android Applications
Author :
Shengqian Yang ; Dacong Yan ; Haowei Wu ; Yan Wang ; Rountev, Atanas
Abstract :
Android software presents many challenges for static program analysis. In this work we focus on the fundamental problem of static control-flow analysis. Traditional analyses cannot be directly applied to Android because the applications are framework-based and event-driven. We consider user-event-driven components and the related sequences of callbacks from the Android framework to the application code, both for lifecycle callbacks and for event handler callbacks. We propose a program representation that captures such callback sequences. This representation is built using context-sensitive static analysis of callback methods. The analysis performs graph reachability by traversing context-compatible interprocedural control-flow paths and identifying statements that may trigger callbacks, as well as paths that avoid such statements. We also develop a client analysis that builds a static model of the application´s GUI. Experimental evaluation shows that this context-sensitive approach leads to substantial precision improvements, while having practical cost.
Keywords :
data flow analysis; graphical user interfaces; mobile computing; smart phones; Android application; GUI; client analysis; context-sensitive static analysis; program representation; static control-flow analysis; static program analysis; user-driven callback sequence; Algorithm design and analysis; Analytical models; Androids; Context; Graphical user interfaces; Humanoid robots; Smart phones;
Conference_Titel :
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
Conference_Location :
Florence
DOI :
10.1109/ICSE.2015.31