A bug report says what broke.

Not where.

BUG REPORT
The app crashes when I save a note after rotating the screen.
TEXT-ONLY RANKING
NoteListAdapter.java#1
NotesProvider.java#2
SaveDialog.java#3
⋮
NoteEditorActivity.javabuggy

Words alone miss the file.

Text retrieval assumes bug reports and code share terms. Often, they don’t.

Introducing
LadyBug
A GitHub bot that reads the UI, too
OpenCrash when saving a note #42
LB
ladybugbot
Indexing repository…
JD
dev opened this issue
The app crashes when I save a note after rotating the screen.
⎙ execution.json
LB
ladybugbot · likely buggy files
1NoteEditorActivity.java
2EditorFragment.java
3NoteRepository.java
01Install
02Record
03Localize

Add the bot.

LadyBug clones the repository and embeds every Java file with UniXcoder.

ProBot connectorFlask backendUniXcoder embeddings

Record the bug once.

MetaMorph captures a reproduction on a device or emulator, then replays it to log every widget touched.

getevent · touchesuiautomator · widgetsexecution.json

Let the UI narrow it.

Widget IDs expand the query. Files that never touch them are filtered. Files behind the screens you visited are boosted.

+ query expansion− filtering↑ boosting
RedWing · 80 reproducible bug reports · 39 Android apps

With UI data, the right file rises.

LadyBug · text + UItext only
Hits@10buggy file in the top 10
0.00
0.68
MRRhow early the first buggy file appears
0.00
0.36
Hits@1buggy file ranked first
0.00
0.20

LadyBug: A GitHub Bot for UI-Enhanced Bug Localization in Mobile Apps

Junayed Mahmud · James Chen · Terry Achille · Camilo Alvarez-Velez · Darren Dean Bansil · Patrick Ijieh · Samar Karanch · Nadeeshan De Silva · Oscar Chaparro · Andrian Marcus · Kevin Moran
ICSME 2025 · IEEE International Conference on Software Maintenance and Evolution