An Efficient, Robust, and Scalable Approach for Analyzing Interacting Android Apps
When multiple apps on an Android platform interact, faults and security vulnerabilities can occur. Software engineers need to be able to analyze interacting apps to detect such problems. Current approaches for performing such analyses, however, do not scale to the numbers of apps that may need to be considered, and thus, are impractical for application to real world scenarios. In this paper, we introduce JITANA, a program analysis framework designed to analyze multiple Android apps simultaneously. By using a classloader based approach instead of a compiler based approach such as SOOT, JITANA is able to simultaneously analyze large numbers of interacting apps, perform on demand analysis of large libraries, and effectively analyze dynamically generated code. Empirical studies of JITANA show that it is substantially more efficient than a state of the art approach, and that it can effectively and efficiently analyze complex apps including Facebook, Pokemon Go, and Pandora that the state of the art approach cannot handle.
2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE)