Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

On-Device Bug Reporting for Android Applications

105 views

Published on

Bugs that surface in mobile applications can be difficult to reproduce and fix due to several confounding factors including the highly GUI-driven nature of mobile apps, varying contextual states, differing platform versions and device fragmentation. It is clear that developers need support in the form of automated tools that allow for more precise reporting of application defects in order to facilitate more efficient and effective bug fixes. In this paper, we present a tool aimed at supporting application testers and developers in the process of On-Device Bug Reporting. Our tool, called ODBR, leverages the uiautomator framework and low-level event stream capture to offer support for recording and replaying a series of input gesture and sensor events that describe a bug in an Android application.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

On-Device Bug Reporting for Android Applications

  1. 1. MobileSoft ’17 Buenos Aires,Argentina Monday, May 22nd, 2017 Kevin Moran, Richard Bonett, Carlos Bernal-Cárdenas, Brendan Otten, Daniel Park, & Denys Poshyvanyk ON-DEVICE BUG REPORTING FOR ANDROID APPLICATIONS
  2. 2. BACKGROUND & MOTIVATION • Effective bug reporting can be difficult for mobile apps. • Insufficient information in bug reports is one of the leading causes of non-reproducible reports.1 • Developers consider (i) steps to reproduce, (ii) stack traces, and (iii) test cases/scenarios as the most helpful sources of information in bug reports.2 1M. Erfani Joorabchi, M. Mirzaaghaei, and A. Mesbah. Works for me! characterizing non-reproducible bug reports. MSR 2014, 2Nicolas Bettenburg, Sascha Just, Adrian Schröter, Cathrin Weiss, Rahul Premraj, and Thomas Zimmermann. 2008. What makes a good bug report? (SIGSOFT ’08/FSE-16)
  3. 3. RELATED WORK
  4. 4. • Two major types of SimilarTools: RELATED WORK
  5. 5. • Two major types of SimilarTools: • Commercially Available Bug Reporting Services
 RELATED WORK
  6. 6. • Two major types of SimilarTools: • Commercially Available Bug Reporting Services
 RELATED WORK
  7. 7. • Two major types of SimilarTools: • Commercially Available Bug Reporting Services
 • Research/Commercial Tools for Record/Replay RELATED WORK
  8. 8. • Two major types of SimilarTools: • Commercially Available Bug Reporting Services
 • Research/Commercial Tools for Record/Replay RELATED WORK
  9. 9. • Bug Reporting Services do not collect precise user input information. • Existing Record & Replay tools typically require a connection to a host machine. • These limitations prohibit easy, accurate recording of bug reports in contexts such as crowd-based testing. LIMITATIONS OF RELATED WORK
  10. 10. OUR SOLUTION: ODBR ODBR Android App Running on Physical or Virtual Android Device ODBR Application Overview GetEvent Manager SensorEvent Manager ScreenShot Manager Service that reads from dev/input/ Samples Sensor Streams Screenshot Service Bug Recording Phase Bug Report JSON Document CouchDB Java Web- Application Parse JSON Bug Document Display rich html Bug Report Bug Report Displayed in Web InterfaceUI-Hierarchy Manager Collects UI Info from uiautomator
  11. 11. OUR SOLUTION: ODBR ODBR Android App Running on Physical or Virtual Android Device ODBR Application Overview GetEvent Manager SensorEvent Manager ScreenShot Manager Service that reads from dev/input/ Samples Sensor Streams Screenshot Service Bug Recording Phase Bug Report JSON Document CouchDB Java Web- Application Parse JSON Bug Document Display rich html Bug Report Bug Report Displayed in Web InterfaceUI-Hierarchy Manager Collects UI Info from uiautomator Android Application
  12. 12. OUR SOLUTION: ODBR ODBR Android App Running on Physical or Virtual Android Device ODBR Application Overview GetEvent Manager SensorEvent Manager ScreenShot Manager Service that reads from dev/input/ Samples Sensor Streams Screenshot Service Bug Recording Phase Bug Report JSON Document CouchDB Java Web- Application Parse JSON Bug Document Display rich html Bug Report Bug Report Displayed in Web InterfaceUI-Hierarchy Manager Collects UI Info from uiautomator Android Application Java Web Application
  13. 13. ODBR: DEMO
  14. 14. ODBR: DEMO 4) Replay is Completely Automated! 2) User records inputs to reproduce bug 3) User reviews bug report to ensure actions are accurate 1) User opens ODBR and chooses app to record
  15. 15. ODBR:WEB INTERFACE
  16. 16. ODBR:WEB INTERFACE
  17. 17. Any Questions? Thank you! https://www.android-dev-tools.com/odbr/ ODBR is open source under the MIT License! please visit: Kevin Moran Ph.D. candidate kpmoran@cs.wm.edu http://www.cs.wm.edu/~kpmoran

×