Application Performance Profiling in Android Dalvik Virtual Machines

Hung-Cheng CHANG  Kuei-Chung CHANG  Ying-Dar LIN  Yuan-Cheng LAI  

IEICE TRANSACTIONS on Information and Systems   Vol.E99-D   No.5   pp.1296-1303
Publication Date: 2016/05/01
Publicized: 2016/01/25
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2015EDP7277
Type of Manuscript: PAPER
Category: Software System
Android,  Dalvik virtual machine,  profiling,  

Full Text: PDF>>
Buy this Article

Most Android applications are written in JAVA and run on a Dalvik virtual machine. For smartphone vendors and users who wish to know the performance of an application on a particular smartphone but cannot obtain the source code, we propose a new technique, Dalvik Profiler for Applications (DPA), to profile an Android application on a Dalvik virtual machine without the support of source code. Within a Dalvik virtual machine, we determine the entry and exit locations of a method, log its execution time, and analyze the log to determine the performance of the application. Our experimental results show an error ratio of less than 5% from the baseline tool Traceview which instruments source code. The results also show some interesting behaviors of applications and smartphones: the performance of some smartphones with higher hardware specifications is 1.5 times less than the phones with lower specifications. DPA is now publicly available as an open source tool.