@techreport{oai:ipsj.ixsq.nii.ac.jp:00216085, author = {吉田, 直生 and 石浦, 菜岐佐 and Naoki, Yoshida and Nagisa, Ishiura}, issue = {28}, month = {Jan}, note = {本稿では,ネイティブコードの比較に基づく Android DEX コンパイラの最適化性能のランダムテスト手法を提案する.Android の DEX コンパイラ dx と d8 がクラスファイルから生成するコードを比較することにより最新版である d8 の最適化不足の検出を試みる.コードの比較は,DEX ファイルのバイトコードではなく,Android の実行系 ART のバックエンドコンパイラがバイトコードから生成するネイティブコードで行う.テストの入力となるクラスファイルは,Java 生成用に修正した Orange4 が生成するランダムな Java プログラムをコンパイルして得る.提案手法に基づくテストシステムを実装して実験を行った結果,d8 から生成される x86 64 用ネイティブコードにおいて,最適化不足を検出することができた., This paper presents a method for testing optimizing performance of Android DEX compilers based on comparison of resulting native codes. By comparing object codes generated from class files by DEX compilers dx and d8, detection of missed optimization by the newer d8 is attemted. The code comparison is made on native codes which are produced by the back-end compiler of the ART (Android Runtime) from the byte codes generated by dx and d8. The test class files to dx and d8 are obtained by compiling random Java programs generated by Orange4. A test system based on the proposed method has successfully detected missed optimization in x86 64 native codes originated from d8.}, title = {ネイティブコード比較に基づくAndroid DEXコンパイラの最適化性能テスト}, year = {2022} }