• DocumentCode
    3744772
  • 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
  • fYear
    2015
  • fDate
    6/1/2015 12:00:00 AM
  • Firstpage
    115
  • Lastpage
    124
  • 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"
  • Publisher
    ieee
  • Conference_Titel
    Quality of Service (IWQoS), 2015 IEEE 23rd International Symposium on
  • Type

    conf

  • DOI
    10.1109/IWQoS.2015.7404721
  • Filename
    7404721