Efficiently, Effectively Detecting Mobile App Bugs with AppDoctor

Abstract

Mobile apps bring unprecedented levels of convenience, yet they are often buggy, and their bugs offset the convenience the apps bring. A key reason for buggy apps is that they must handle a vast variety of system and user actions such as being randomly killed by the OS to save resources, but app developers, facing tough competitions, lack time to thoroughly test these actions. AppDoctor is a system for efficiently and effectively testing apps against many system and user actions, and helping developers diagnose the resultant bug reports. It quickly screens for potential bugs using approximate execution, which runs much faster than real execution and exposes bugs but may cause false positives. From the reports, AppDoctor automatically verifies most bugs and prunes most false positives, greatly saving manual inspection effort. It uses action slicing to further speed up bug diagnosis. We implement AppDoctor in Android. It operates as a cloud of physical devices or emulators to scale up testing. Evaluation on 53 out of 100 most popular apps in Google Play and 11 of the most popular open-source apps shows that, AppDoctor effectively detects 72 bugs--including two bugs in the Android framework that affect all apps--with quick checking sessions, speeds up testing by 13.3 times and vastly reduces diagnosis effort.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 01, 2014
Accession Number
ADA617205

Entities

People

  • Gang Hu
  • Junfeng Yang
  • Xinhao Yuan
  • Yang Tang

Organizations

  • Columbia University

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • Computer Programs
  • Computer Science
  • Computers
  • Electronic Mail
  • Inspection
  • Mobile Application Software
  • Mobile Devices
  • Mobile Operating Systems
  • Mobile Phones
  • Networks
  • Operating Systems
  • Social Media
  • Social Networking Services
  • Test And Evaluation
  • Text Messaging
  • Wireless Networks

Fields of Study

  • Computer science
  • Engineering

Readers

  • Agent-Based Social Robotics and Mobile-Assisted Learning in Virtual Environments.
  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Database Systems and Applications