Automated repair can patch code.

Can it fix an app?

9:41
Edit trip
TRIP NAME
Lake weekend
DATES
Jun 14
Jun 16
Save trip
Can’t save. These dates overlap another trip — the very trip being edited.
● BUG 347 · ANGLERS’ LOG

UI bugs live between
the screen and the code.

Event callbacks, view state, and logic spread across the app — and the clues are on screen.

Repair benchmarks
barely include them.

Datasets like Defects4J lack bugs from UI-centric programs — so no one knew how repair tools fare.

01Benchmark
02Repair
03Judge

Build the benchmark.

DroidFixBench: 96 Android bugs, each ready for repair tools.

fault localized to the statementcompilable buggy versioncorrect patchtwo GUI testsbug description

Hand it to five tools.

From templates and neural translation to LLM prompting and a coding agent.

NTRtemplate
Reward­RepairNMT
D4CLLM
Chat­RepairLLM
Open­Handsagent

Judge every patch.

Run the GUI tests on an emulator, then check plausible patches by hand.

bug 347 · patch from D4C
- if (trip.overlapsTrip((Trip) object))
+ if (object instanceof Trip && trip.overlapsTrip((Trip) object))
CORRECT
PLAUSIBLE
NOT A FIX
A comprehensive empirical study
How far are we?
Finding 1 · bugs fixed by at least one tool

Seeded bugs fall. Real ones don’t.

Synthetic bugsmutation-seeded
0/46
Real bugsfrom issue reports
0/50
Finding 2 · share of patches that are correct, on real bugs

The best tool: 12%.

Bars on a 0–100% scale
Finding 3 · why 379 sampled patches failed

They hallucinate the UI.

≈0%
of failures trace to UI-specific code
R.id.does_not_existGUI component IDs that don’t exist · 35 bugs
noSuchMethod()calls to methods that don’t exist · 37 bugs
NoSuchActivityactivities that don’t exist · 18 bugs
What repair needs next

Read the GUI —

and the code behind it.

A taxonomy of nine failure categories maps where UI-aware repair tools should go.

Automated Program Repair for UI-centric Android Bugs: How Far are We?

Junayed Mahmud · Sparsh Pandey · Nadeeshan De Silva · Atish Kumar Dipongkor · JingJing Wu · Oscar Chaparro · Mattia Fazzini · Kevin Moran
ISSTA 2026 · ACM SIGSOFT International Symposium on Software Testing and Analysis