Bug reporting forms

don’t talk back.

New issue
app crashed
1. used the app
—
it crashed
Submit

End users don’t know what developers need.

Templates give little guidance — and no feedback when a step is missing or wrong.

Introducing
BURT
A chatbot for interactive bug reporting.
B
BURTReporting a bug in Mileage
What went wrong? Describe the problem you saw.
the app crashed
NO MATCH
I couldn’t match that to the app. Could you describe it in more detail?
The average fuel economy shows a NaN value
Is this the screen with the problem?
NaN
Yes
Did you perform any of these steps?
✓
Tap “Add fill-up”
✓
Type “5” in Gallons
✓
Save the car fill-up
01Parse
02Match
03Suggest

Parse every sentence.

BURT parses each message into the parts that matter: who did what, to which part of the app.

“The average fuel economy shows a NaN value”
subjectaverage fuel economy
actionshows
objectNaN value

Check it against the app.

Descriptions are matched to screens in a model of the app, built from automated exploration and real usage traces.

fuel economy · NaN value
APP EXECUTION MODEL

Suggest the next steps.

BURT ranks likely paths to the problem screen, then shows the steps as screenshots to pick from.

REPORTED STEPS
1Launch the appdefault
2Tap “Add fill-up”suggested
3Type “5” in Gallonssuggested
4Save the car fill-upsuggested
Evaluated in two user studies with
0
end users
0
real bugs
0
Android apps
BURT reports vs. reports from a template-based bug tracker

Incorrect steps

Template
0%
BURT
0%

Missing steps

Template
0%
BURT
0%
12 of 18reporters found BURT easy or somewhat easy to use
A study participant, on BURT’s screenshots

“I liked the screenshots a lot, very easy to report the process to reproduce a bug.”

From static forms

to interactive bug reporting.

Toward Interactive Bug Reporting
for (Android App) End Users

Yang Song · Junayed Mahmud · Ying Zhou · Oscar Chaparro · Kevin Moran · Andrian Marcus · Denys Poshyvanyk
ESEC/FSE 2022
ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering