International Journal of Computer Applications |
Foundation of Computer Science (FCS), NY, USA |
Volume 177 - Number 24 |
Year of Publication: 2019 |
Authors: Marwa Dahdouh, Mouhamad Ayman Naal, Souheil Khawatmi, Amer Bouchi |
10.5120/ijca2019919709 |
Marwa Dahdouh, Mouhamad Ayman Naal, Souheil Khawatmi, Amer Bouchi . Design an Optimized Compiler to Enhance Performance of Android Applications. International Journal of Computer Applications. 177, 24 ( Dec 2019), 42-50. DOI=10.5120/ijca2019919709
This paper presents a detailed study of the mechanism to design a compiler of Smali language to generate optimized Android applications. Smali language; which includes the dex bytecode; is the assembly language under Android OS, it is generated from the Java source code. The phases of designing the target compiler are described and the structure of files that are the input and output of the compiler are explained. The structure of the input files of ART (Android RunTime) compiler is explained, with the focus on the dex file (Dalvik EXecutable) and its corresponding Smali language file, that includes dex bytecode code. The proposed compiler, Which is called MySMALI compiler, generates optimized Smali code by replacing some blocks in the Smali code by other blocks more efficient in performance and equivalent in behavior with original blocks. Reverse Engineering techniques are used to decompile and verify the correctness of the generated optimized APKs. As result, an optimized compiler is designed and the experimental evaluation shows that the compiler is able to save from 4.8% to 12.9% of the overall execution time in various application scenarios. This ratio of improvements increases up with the size and complexity of the optimized code.