Skip to content

Understanding and Detecting Android R8 Compiler Bugs

Aug 2026 · ACM Transactions on Software Engineering and Methodology · 0 citations · 71 references

TL;DR

An automated testing tool named R8Scan is developed that utilizes a novel idea to synthesize seeds from prioritized real-world functions and construct the corresponding arguments empowered by Large Language Models to test R8, thus enabling the exploration of a broader range of semantics.

Abstract

Android apps currently dominate the smartphone app market, and their reliability will significantly affect user experience and even induce security risks. Since Android Gradle Plugin 3.4.0 (April 2019), the R8 compiler serves as the default infrastructure in the Android build process. It transforms JVM bytecode from the Java layer into semantic-equivalent DEX bytecode, ensuring compatibility with the Android Virtual Machine. Additionally, R8 incorporates advanced features like shrinking and obfuscation to reduce app size and enhance security. However, R8 suffers from substantial bugs, some of which can cause severe issues. This motivates us to conduct a preliminary study into R8 bugs. We collect and analyze 945 bug reports for R8. Through detailed statistical analysis, we obtain several valuable findings. For example, we identify Optimization as the most error-prone component. To substantiate our findings, we develop an automated testing tool named R8Scan. It utilizes a novel idea to synthesize seeds from prioritized real-world functions and construct the corresponding arguments empowered by Large Language Models (LLMs) to test R8, thus enabling the exploration of a broader range of semantics. Finally, R8Scan detects 17 R8 bugs. It also detects 10 bugs in OpenJDK and 6 bugs in Android Runtime. Among the R8 bugs, 11 are assigned priority P1, the highest developer-assigned priority level. Extensive experiments demonstrate the superiority of R8Scan over state-of-the-art JVM fuzzers. We believe this study is valuable to enhance the security of the R8 compiler.

View source

Similar papers

#small language model Preprint Aug 2026

Towards LLM-Enhanced Android Taint Analysis

Whether off-the-shelf Large Language Models (LLMs) can effectively reason about taint flows in Android apps is investigated, and preliminary findings suggest that LLM reasoning may effectively complement traditional static taint analysis.

Nicholas Miazzo, Marco Alecci, Jordan Samhi et al. · 0 citations
Aug 2026

Shalton: Cross-Runtime Static Analysis for Android Applications

Shalton is introduced, a static analysis framework that analyzes CIL bytecode from C# and Dalvik bytecode from Java and reconstructs interactions between CIL and Dalvik components, enabling existing Android static analyzers to reason about both bytecode formats.

Runze Tan, Jun-Tao Hu, Lei Xue et al. · 0 citations
Jul 2026

FUADroid: android malware detection with multi-view API feature fusion using machine learning

FUADroid is proposed, a static malware detection method that fuses structural and statistical-semantic views and achieves strong detection performance and exhibits improved robustness under cross-year evaluation settings.

Jiyun Yang, Fan Mei, Zheng-Dong Wan et al. · 0 citations
Jul 2026

Android Malware Detection System

The Android Malware Detection System provides a comprehensive, reliable, and user-friendly platform to safeguard mobile ecosystems against emerging threats, combining technical rigor with accessibility.

G. Vamsi, V. S. Vinay · 1 citation
Open access Jun 2025

Enhancing android malware detection with retrieval-augmented generation

This work compiled a dataset of benign and malicious APKs and performed static analysis to extract features such as code structure, permissions, and manifest file content, without executing the apps, and used an LLM to generate high-level functional descriptions of APKs.

Saraga Sakthidharan, S. Anagha, Dincy R. Arikkat et al. · 1 citation
Preprint Aug 2026

A Comprehensive Study of Native Code Bugs in Python Applications

The impact of Python applications has been evidenced by their widespread presence in some of the most impactful software domains, such as machine learning frameworks and scientific computing platforms. These applications often integrate native code components written in a lower-level programming language like C. This multilingual construction brings various benefits such as greater performance efficiency and easier interoperability with diverse runtime environments. However, bugs in the native code (i.e., native code bugs), which are usually stealthy, also constitute a major additional challenge to the quality of the Python applications as a whole. Yet despite existing relevant studies, there remains a lack of comprehensive understanding of native code bugs in Python applications. In this paper, we aim to mitigate this knowledge gap through the first in-depth study of such bugs, dissecting their common symptoms, introducing locations, manifestation characteristics, root causes, and fixes. Based on our extensive automated and manual analyses of 216 native code bugs in real-world Python projects on GitHub, we obtained novel findings about and new insights into the occurrence mechanisms and resolution strategies of those bugs.

Haoran Yang, Haipeng Cai · 0 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.