Contextual Fuzzing for Mobile App Testing

NEWS

  • Mar 1st 2014 -- Limited Internal Microsoft Release -- System now live...
  • Jan 21st 2014 -- Caiipa system video released -- available here: Demo Video
  • Dec 1st 2013 -- Caiipa system enters BETA trial!


 

OVERVIEW

Mobile platforms (such as tablets and smartphones) present unique challenges to app developers seeking high-quality user experience: device configuration diversity, network condition diversity, geo-location diversity, and unpredictable sensor inputs. While passive data-driven testing tools are popular, observations can be quite slow to accumulate in the wild. We propose Contextual Fuzzing – a proactive approach that fuzzes mobile apps with real-world contexts to uncover more app crashes and performance outliers in a much shorter time.

Caiipa is our prototype cloud service that can automatically probe mobile apps in search of performance issues and hard crash scenarios caused by certain mobile contexts. Developers are able to test their apps by simply providing an app binary (and optional user click traces for the UI monkey) to the Caiipa service. A summary report is generated by Caiipa for the developer that details the problems observed, the conditions that trigger the bug, and how it can be reproduced.

In addition, we incorporate techniques for the scalable exploration of the mobile context space. First, we propose a method for synthesizing a representative, yet comprehensive, library of context stress tests from large repositories of available context sources. Second, we propose a learning algorithm that leverages similarities between apps to identify which conditions will impact previously unseen apps by leveraging observations from previously tested apps.

Publications

Interns

2013

  • Yan Liu (Shanghai Jiao Tong University)
  • Jun Tang (Harbin Institute of Technology)
  • Xiang Shan (Harbin Institute of Technology)
  • Hao Liu (Tsinghua University)

2012

  • Li Zhang (University of Science and Technology China)
  • Niels Brouwers (TU Delft)