Contextual Fuzzing for Mobile App Testing

-- Making it easy for app developers of all levels to test their apps under real-world contexts on the cloud or real devices --


Jan 21st 2014 -- ConVirt system video released -- available here: Demo Video

Dec  1st 2013 -- ConVirt system enters BETA trial!


Limited Internal Microsoft Release of ConVirt -- System now live...



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.

ConVirt (Context Virtualizer) 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 ConVirt service. A summary report is generated by ConVirt 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.



  • 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)