  The modern software development landscape has seen a shift in focus toward
mobile applications as "smart" devices near ubiquitous adoption. Due to this
trend, the complexity of mobile applications has been increasing, making
development and maintenance particularly challenging. However, it is clear that
current bug tracking systems are not able effectively support construction of
reports with actionable information that will directly lead to a bug's
resolution. To address the need for an improved reporting system, we introduce
a novel solution, called FUSION, that helps users auto-complete reproduction
steps in bug reports for mobile apps. FUSION links information, that users
provide, to program artifacts extracted through static and dynamic analysis
performed before testing or release. The approach that FUSION employs is
generalizable to other current mobile software platforms, and constitutes a new
method by which off-device bug reporting can be conducted for mobile software
projects. We evaluate FUSION by conducting a study that quantitatively and
qualitatively measures the user experience of the system for both reporting and
reproducing bugs, as well as the quality of the bug reports it produces. In a
study involving 28 participants we apply FUSION to support the maintenance
tasks of reporting and reproducing defects on 15 real-world bugs found in 14
open source Android apps. Our results demonstrate that FUSION allows for more
reliable reproduction of bugs from reports by aiding users in reporting more
detailed application-specific information compared to traditional bug tracking
systems.
