Table of Contents
Fetching ...

BugRepro: Enhancing Android Bug Reproduction with Domain-Specific Knowledge Integration

Hongrong Yin, Jinhong Huang, Yao Li, Yunwei Dong, Tao Zhang

TL;DR

BugRepro tackles the challenge of reproducing Android bugs from vague bug reports in complex multi-page apps by integrating Retrieval-Augmented Generation for S2R extraction with app-specific UI exploration guided by UI transition graphs. The approach ground LLM outputs with retrieved bug report exemplars and synthesized app knowledge to produce reliable, executable UI interaction sequences. Experimental results on 151 real bug reports show BugRepro outperforms ReCDroid and AdbGPT in S2R extraction accuracy, bug reproduction success (NSR up to 96/151), and efficiency (average ~124.7s per reproduction), with ablations confirming the value of both RAG and UI exploration. The work highlights how combining domain-specific knowledge with LLMs can transform Android bug reproduction, enabling faster, more scalable debugging workflows with practical impact for mobile development teams.

Abstract

Mobile application development is a fast-paced process where maintaining high-quality user experiences is crucial. Bug reproduction, a key aspect of maintaining app quality, often faces significant challenges. Specifically, when descriptions in bug reports are ambiguous or difficult to comprehend, current approaches fail to extract accurate information. Moreover, modern applications exhibit inherent complexity with multiple pages and diverse functionalities, making it challenging for existing methods to map the relevant information in bug reports to the corresponding UI elements that need to be manipulated. To address these challenges, we propose BugRepro, a novel technique that integrates domain-specific knowledge to enhance the accuracy and efficiency of bug reproduction. BugRepro adopts a Retrieval-Augmented Generation (RAG) approach. It retrieves similar bug reports along with their corresponding steps to reproduce (S2R) entities from an example-rich RAG document. In addition, BugRepro explores the graphical user interface (GUI) of the app and extracts transition graphs from the user interface to incorporate app-specific knowledge to guide large language models (LLMs) in their exploration process. Our experiments demonstrate that BugRepro significantly outperforms two state-of-the-art methods (ReCDroid and AdbGPT). For S2R entity extraction accuracy, it achieves a 7.57 to 28.89 percentage point increase over prior methods. For the bug reproduction success rate, the improvement reaches 74.55% and 152.63%. In reproduction efficiency, the gains are 0.72% and 76.68%.

BugRepro: Enhancing Android Bug Reproduction with Domain-Specific Knowledge Integration

TL;DR

BugRepro tackles the challenge of reproducing Android bugs from vague bug reports in complex multi-page apps by integrating Retrieval-Augmented Generation for S2R extraction with app-specific UI exploration guided by UI transition graphs. The approach ground LLM outputs with retrieved bug report exemplars and synthesized app knowledge to produce reliable, executable UI interaction sequences. Experimental results on 151 real bug reports show BugRepro outperforms ReCDroid and AdbGPT in S2R extraction accuracy, bug reproduction success (NSR up to 96/151), and efficiency (average ~124.7s per reproduction), with ablations confirming the value of both RAG and UI exploration. The work highlights how combining domain-specific knowledge with LLMs can transform Android bug reproduction, enabling faster, more scalable debugging workflows with practical impact for mobile development teams.

Abstract

Mobile application development is a fast-paced process where maintaining high-quality user experiences is crucial. Bug reproduction, a key aspect of maintaining app quality, often faces significant challenges. Specifically, when descriptions in bug reports are ambiguous or difficult to comprehend, current approaches fail to extract accurate information. Moreover, modern applications exhibit inherent complexity with multiple pages and diverse functionalities, making it challenging for existing methods to map the relevant information in bug reports to the corresponding UI elements that need to be manipulated. To address these challenges, we propose BugRepro, a novel technique that integrates domain-specific knowledge to enhance the accuracy and efficiency of bug reproduction. BugRepro adopts a Retrieval-Augmented Generation (RAG) approach. It retrieves similar bug reports along with their corresponding steps to reproduce (S2R) entities from an example-rich RAG document. In addition, BugRepro explores the graphical user interface (GUI) of the app and extracts transition graphs from the user interface to incorporate app-specific knowledge to guide large language models (LLMs) in their exploration process. Our experiments demonstrate that BugRepro significantly outperforms two state-of-the-art methods (ReCDroid and AdbGPT). For S2R entity extraction accuracy, it achieves a 7.57 to 28.89 percentage point increase over prior methods. For the bug reproduction success rate, the improvement reaches 74.55% and 152.63%. In reproduction efficiency, the gains are 0.72% and 76.68%.

Paper Structure

This paper contains 30 sections, 1 figure, 11 tables.

Figures (1)

  • Figure 1: The overview of our method.