Missing information is a leading reason bug reports can’t be reproduced.
FUSION bridges it.
Every step a reporter enters is linked to the app’s own GUI and code.
WHAT THE REPORTER SAW
WHAT THE DEVELOPER NEEDS
LEXICAL GAP
“the menu thing”
“the page box”
“hit OK”
Button · id/ok
ViewerActivity.java
EditText · id/page
FUSION
Analyze → Generate.
Program analysis runs once per build. Reporters get guided, step by step.
01 · ANALYSIS PHASE
Learn the app
PrimerStatic: every GUI component, its type, Activity and class
EngineDynamic: DFS ripping for text, location and screenshots
→
02 · REPORT GENERATION
Guide the reporter
TrackA decision tree follows where the reporter is in the app
ConfirmEach step is checked against a full screenshot
{click,Button “OK”}
Bug reports developers could not reproduce
0/120
with FUSION
0/120
with Google Code Issue Tracker
Two studies · 15 real bugs · 14 open-source Android apps
The conclusion
“Mobile issue trackers can be augmented to facilitate users creating more detailed and reproducible bug reports.”
Second Place Graduate Student · ACM Student Research Competition
Enhancing Android Application Bug Reporting
Kevin Moran
ESEC/FSE 2015 · Student Research Competition European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering