Expressing Uncertainty Using the maybe System

Awarded 8/2015


Android apps currently run on 18,796 distinct devices with different hardware capabilities. Those devices connect to multiple data networks with 100-fold variations in speed and latency. Android users are elderly adults and young children, have highly-variable mobility patterns and install different mixtures of the 1.5 million apps published on the Google Play Store. All of this diversity creates uncertainty for developers, who may be unsure how to adapt their app to achieve performance, correctness, and usability on any device, at all times, for anyone, anywhere. Our new system, maybe, addresses this challenge by allowing programmers to express development-time uncertainty. A new language construct and online infrastructure allow programmers to indicate where they are uncertain, what legitimate options are available, and what constitutes success or failure. Post-deployment testing and machine learning are then used to resolve the uncertainty by crafting effective data-driven adaptation strategies.

Built by the metalsmith-blue Metalsmith pipeline.
Created 2/11/2016
Updated 2/28/2019
Commit 4a99ff2 // History // View
Built 7/3/2021 @ 10:19 EDT