Real-time Understanding of Reproduction Steps” (IEEE TSE).">

Six days. Ten messages.

To reproduce one bug.

codinguser · developer#1

“Could you please provide some more information? What version of the app are you using?…”

21nds · reporter#6

“I have Deleted ALL accounts and created one account ‘Checking’…”

fefe982 · developer#10

“Bug is confirmed.”

GNUCASH · DAY 1 OF 6

The report left out essential steps.

Developers had to dig them out, one message at a time.

Structure helps.
It also costs time.

FUSION’s guided fields made reports more reproducible, but they took longer to write.

Introducing
EBug
Bug reporting that understands what you type.
9:41
Checking⋮
−42.10
−8.75
+1,250.00
−63.40
−19.99
+
9:41
New transaction✓
DESCRIPTION
 
AMOUNT
25.00
WITHDRAWALDEPOSIT
ACCOUNT
Checking
01Model the app
02Understand each step
03Suggest what’s next

Model the app, offline.

Static and dynamic analysis map the GUI. Language models learn from real app usage.

GUI MODEL

Screens & actions

What can be done on every screen

N-GRAM MODEL

Next action

Which GUI action likely comes next

TAPTYPETAP?
N-GRAM MODEL

Next element

Which GUI element that action targets

Just write the steps.

Each sentence is parsed as you type, matched to the app, and validated.

It suggests what’s next.

Predictions complete the target of a step, or the whole next step.

STEPS TO REPRODUCE
1Tap the add transaction button✓
2Enter “Transaction” in the “Description” text box✓
3Tap the “Withdrawal” buttontab✓
4Tap the save checkmarktab✓
ABSTRACT GUI ACTIONTYPEthe “Description” text box“Transaction”
Versus FUSION · 20 failures · 11 apps · 10 reporters · 10 developers
0%
faster bug reporting6m18s per report, down from 9m8s
92.5% vs 80%of reports reproduced (37 vs 32 of 40)
40.2%less time for developers to reproduce

Enhancing Mobile App Bug Reporting via Real-time Understanding of Reproduction Steps

Mattia Fazzini · Kevin Moran · Carlos Bernal Cárdenas · Tyler Wendland · Alessandro Orso · Denys Poshyvanyk
TSE 2022 · IEEE Transactions on Software Engineering