Speaker: Lau Shyh Tzer CUHK
Time: 2013-08-26 14:30-2013-08-26 15:30
Google has been working on the improvement and upgrade of the Android SDK APIs since its first release to fit the rapidly growing Android app’s developer community as well as the highly demanding mobile computing market. However, the frequent update of Android APIs and its high evolvability in nature turns out to make the proper invocation of the APIs becomes complicated (Nearly 20k methods are available at Android SDK Level 18), especially for inexperienced developer. In addition, as Android’s ability of operating on various underlying hardware, which seriously makes app testing hard for developer to ensure its quality and its specific APIs have been followed the most efficient principle. This research presents the technique of utilizing reverse engineering and machine learning to mine the implementation details of the Android apps in the current market to discover the usage pattern and relationship of the Android APIs invocation. In this talk, I will first present the reverse engineering technique that been adapted to decompile the Android App package (.apk) and to extract the Abstract Syntax Tree from the bytecode through simulating the stack execution of JVM. I will then present the result of analyzing 10, 266 Android apps and the machine learning technique that I utilized to mine the Abstract Syntax Tree into interesting result through Data Flow Analysis and Hierarchical Clustering. In the study of the clustering result, the discovered APIs usage pattern and relationship can be concluded and adapted to provide developer with a helper tool to properly invocate the correct Android APIs, to avoid complicated debugging by following the industry standard of APIs invocation. Furthermore, the insight of potential development of this research to complete the discovery of the mining data will also be included in this talk.
Lau Shyh Tzer, David is a visiting student at Institute for Interdisciplinary Information Sciences, Tsinghua University, working with Prof. Xu Wei. He is currently a junior undergraduate student in Computer Science at The Chinese University of Hong Kong under Faculty Enrichment Scheme. He was the awardee of Professor Charles K.Kao Research Exchange Scholarship in 2013. His research interests include software engineering, machine learning and data science.