TY - GEN
T1 - Maybe we should enable more uncertain mobile app programming
AU - Challen, Geoffrey
AU - Ajay, Jerry Antony
AU - DiRienzo, Nick
AU - Kennedy, Oliver
AU - Maiti, Anudipa
AU - Nandugudi, Anandatirtha
AU - Shantharam, Sriram
AU - Shi, Jinghao
AU - Srinivasa, Guru Prasad
AU - Ziarek, Lukasz
N1 - Publisher Copyright:
Copyright © 2015 ACM.
PY - 2015/2/12
Y1 - 2015/2/12
N2 - One of the reasons programming mobile systems is so hard is the wide variety of environments a typical app encounters at runtime. As a result, in many cases only post-deployment user testing can determine the right algorithm to use, the rate at which something should happen, or when an app should attempt to conserve energy. Programmers should not be forced to make these choices at development time. Unfortunately, languages leave no way for programmers to express and structure uncertainty about runtime conditions, forcing them to adopt ineffective or fragile ad-hoc solutions. We introduce a new approach based on structured uncer- tainty through a new language construct: the maybe state- ment. maybe statements allow programmers to defer choices about app behavior that cannot be made at development time, while providing enough structure to allow a system to later adaptively choose from multiple alternatives. Elimi- nating the uncertainty introduced by maybe statements can be done in a large variety of ways: through simulation, split testing, user configuration, temporal adaptation, or machine learning techniques, depending on the type of adaptation ap- propriate for each situation. Our paper motivates the maybe statement, presents its syntax, and describes a complete sys- tem for testing and choosing from maybe alternatives.
AB - One of the reasons programming mobile systems is so hard is the wide variety of environments a typical app encounters at runtime. As a result, in many cases only post-deployment user testing can determine the right algorithm to use, the rate at which something should happen, or when an app should attempt to conserve energy. Programmers should not be forced to make these choices at development time. Unfortunately, languages leave no way for programmers to express and structure uncertainty about runtime conditions, forcing them to adopt ineffective or fragile ad-hoc solutions. We introduce a new approach based on structured uncer- tainty through a new language construct: the maybe state- ment. maybe statements allow programmers to defer choices about app behavior that cannot be made at development time, while providing enough structure to allow a system to later adaptively choose from multiple alternatives. Elimi- nating the uncertainty introduced by maybe statements can be done in a large variety of ways: through simulation, split testing, user configuration, temporal adaptation, or machine learning techniques, depending on the type of adaptation ap- propriate for each situation. Our paper motivates the maybe statement, presents its syntax, and describes a complete sys- tem for testing and choosing from maybe alternatives.
UR - http://www.scopus.com/inward/record.url?scp=84942434556&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84942434556&partnerID=8YFLogxK
U2 - 10.1145/2699343.2699361
DO - 10.1145/2699343.2699361
M3 - Conference contribution
AN - SCOPUS:84942434556
T3 - HotMobile 2015 - 16th International Workshop on Mobile Computing Systems and Applications
SP - 105
EP - 110
BT - HotMobile 2015 - 16th International Workshop on Mobile Computing Systems and Applications
PB - Association for Computing Machinery
T2 - 16th International Workshop on Mobile Computing Systems, HotMobile 2015
Y2 - 12 February 2015 through 13 February 2015
ER -