← Latest papers
💻 computer science

Automatically Enhancing the Quality of Android App Bug Reports

This paper presents BugScribe, an LLM-powered approach that automatically enhances Android app bug reports by linking user descriptions with application execution data to generate accurate, complete, and reproducible components, significantly outperforming existing baselines in quality.

Original authors: Antu Saha, Atish Kumar Dipongkor, Sam Bennett, Kevin Moran, Andrian Marcus, Oscar Chaparro

Published 2026-07-03
📖 4 min read☕ Coffee break read

Original authors: Antu Saha, Atish Kumar Dipongkor, Sam Bennett, Kevin Moran, Andrian Marcus, Oscar Chaparro

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you are trying to explain a glitch in a video game to the developers. You say, "It crashes when I click the weird button." The developers scratch their heads. Which button? On which screen? What exactly happens right before it breaks? Without those details, they can't fix it.

This is the problem BUGSCRIBE solves. It is a tool designed to take a messy, vague bug report written by a human and automatically turn it into a perfect, step-by-step instruction manual that developers can actually use.

Here is how the paper explains it, using some everyday analogies:

The Problem: The "Lost in Translation" Bug Report

Most bugs in mobile apps are visual things you see on the screen. Since computers can't always spot these glitches automatically, humans have to report them. But humans are bad at writing technical instructions. They forget steps, use vague words, or miss the "expected" result (what should have happened).

The paper argues that the core issue isn't just that the writing is bad; it's that the writer is disconnected from the app's actual "inner workings." They know what broke, but they don't know the specific path the app took to get there.

The Solution: BUGSCRIBE (The "Translator" and "Tour Guide")

The researchers built a system called BUGSCRIBE. Think of it as a super-smart translator that speaks two languages: Human Complaints and App Code.

  1. It Maps the Territory: Before it even looks at the bug report, BUGSCRIBE explores the app itself. It builds a giant, detailed map (a "graph") of every screen and every button you can click. It knows that clicking "Button A" on "Screen 1" leads to "Screen 2."
  2. It Reads the Complaint: It takes the user's messy report (e.g., "App crashed after I tried to restore backup").
  3. It Connects the Dots: This is the magic part. BUGSCRIBE uses a powerful AI (a Large Language Model) to match the user's vague words to the specific buttons and screens on its map.
    • Analogy: Imagine a tourist says, "I got lost near the big fountain." A normal guide might guess. BUGSCRIBE is like a guide who has a GPS map of the whole city, sees the tourist's location, and instantly knows exactly which path they took to get to the fountain.
  4. It Writes the Perfect Report: It rewrites the bug report with three perfect sections:
    • Observed Behavior: Exactly what went wrong (e.g., "The app crashed on the 'Restore' popup").
    • Expected Behavior: What should have happened (e.g., "The backup should have restored and shown a 'Success' message").
    • Steps to Reproduce: A precise, atomic list of clicks (e.g., "1. Tap 'More'. 2. Tap 'Restore'. 3. Tap 'OK'").

How It Works: The "Component-Specific" Strategy

The paper highlights a clever trick: BUGSCRIBE doesn't treat all parts of the report the same way. It knows that different parts of a bug report need different kinds of "clues" from the app map.

  • For the Steps (How to reproduce): It focuses heavily on the path. It looks at the sequence of clicks and the specific screens involved to ensure the steps are accurate.
  • For the Description (What happened): It focuses on the destination. It looks at the final screen where the crash happened to describe exactly what went wrong.

The researchers tested this by feeding the system 48 real bug reports from 26 different Android apps. They compared BUGSCRIBE's output against the original reports and other AI tools.

The Results: A Massive Improvement

The results were like upgrading from a sketch to a blueprint:

  • Steps to Reproduce: The quality jumped by 44% to 82%. The AI generated steps that were much more accurate and complete than what humans or other AIs wrote.
  • Descriptions: The quality of the "What happened" and "What should happen" sections improved by 3.8% to 35%.

Why It Matters

Before this, if a developer got a bad report, they had to guess, ask the user for more info, or try to reproduce the bug blindly. With BUGSCRIBE, the tool acts as a bridge, taking the user's rough idea and filling in the missing technical gaps using the app's own data. It turns a "maybe this is broken" note into a "here is exactly how to break it" instruction, saving developers time and frustration.

In short: BUGSCRIBE is a tool that takes a human's vague complaint about an app glitch and uses the app's own internal map to write a perfect, technical repair guide.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →