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
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