Title :
AndroidPerf: A cross-layer profiling system for Android applications
Author :
Lei Xue;Chenxiong Qian;Xiapu Luo
Author_Institution :
Department of Computing, The Hong Kong Polytechnic University, The Hong Kong Polytechnic University Shenzhen Research Institute
fDate :
6/1/2015 12:00:00 AM
Abstract :
Profiling Android applications (or simply apps) is an important way to discover and locate various problems in apps, such as performance bottleneck, security loopholes, etc. Although many dynamic profiling systems for apps have been proposed, they are limited in dealing with the multiple-layer nature of Android and thus cannot reveal issues due to the underlying platform or poor interactions between different layers. Note that since apps usually run in Dalvik virtual machine (DVM) and each DVM is a process in Android´s customized Linux kernel, a simple operation in DVM will lead to many function calls in different layers. In this paper, we propose AndroidPerf, a cross-layer profiling system, including the DVM layer, the system layer, and the kernel layer, for Android apps. It consists of one sub-system that performs cross-layer dynamic taint analysis to collect control flow and data flow information, and another subsystem that conducts instrumentation on all layers for collecting performance information. We have implemented AndroidPerf in 9,125 lines of C/C++ and 1,016 lines of Python scripts along with some modifications to Android´s framework. Besides evaluating its functionality and overhead, we have applied AndroidPerf to reveal real performance issues through case studies.
Keywords :
"Kernel","Androids","Humanoid robots","Engines","Libraries","Instruments","Linux"
Conference_Titel :
Quality of Service (IWQoS), 2015 IEEE 23rd International Symposium on
DOI :
10.1109/IWQoS.2015.7404721