Search papers, labs, and topics across Lattice.
BugScribe leverages LLMs, contextualized with GUI interactions and screen information, to automatically generate high-quality bug reports for Android applications, specifically focusing on Observed Behavior (OB), Expected Behavior (EB), and Steps to Reproduce (S2Rs). The approach is evaluated using a novel quality framework assessing correctness and completeness of bug report components. Results demonstrate that BugScribe outperforms original reports and LLM baselines in generating accurate and complete OB, EB, and S2Rs.
Forget manually writing bug reports: BugScribe uses GUI context to generate higher-quality, more accurate reports than humans and other LLMs.
Most defects in mobile applications are visually observable on the device screen. To track these defects, users, testers, and developers must manually submit bug reports, especially in the absence of crashes. However, these reports are frequently ambiguous or inaccurate, often omitting essential components such as the Observed Behavior (OB), Expected Behavior (EB), or Steps to Reproduce (S2Rs). Low-quality reports hinder developers' ability to understand and reproduce defects, delaying resolution and leading to incorrect or unresolvable fixes. In this paper, we posit that providing specific app-related information (e.g., GUI interactions or specific screens where bugs appear) to LLMs as key points of context can assist in automatically generating clear, detailed, and accurate OB, EB, and S2Rs. We built and evaluated a novel approach, BugScribe, that generates bug reports in this way. To support the evaluation, we introduce a unified quality framework that defines correctness and completeness dimensions for OB, EB, and S2Rs. Using 48 bug reports from 26 Android apps, we show that BugScribe produces higher-quality and more accurate components than the original reports and outperforms recent LLM-based baselines. We envision that BugScribe can serve as a practical assistant for testers and developers by enhancing incomplete bug reports with reliable and accurate OB, EB, and S2Rs, thereby streamlining bug resolution and improving mobile app quality.