Mobile app markets have lowered the barrier to market entry for software producers. As a consequence, an increasing number of independent app developers offer their products, and recent platforms such as the MIT App Inventor and Microsoft’s TouchDevelop enable even lay programmers to develop apps and distribute them in app markets.
A major challenge in this distribution model is to ensure the quality of apps. Besides the usual sources of software errors, mobile apps are susceptible to errors caused by the non-determinism of an event-based execution model, a volatile environment, diverse hardware, and others. Many of these errors are difficult to detect during testing, especially for independent app developers, who are not supported by test teams and elaborate test infrastructures.
To address this problem, we propose a static program analysis that captures the specifics of mobile apps and is efficient enough to provide feedback during the development process. We present our analysis for TouchDevelop, but most aspects apply also to other platforms. Experiments involving 51,456 published TouchDevelop scripts show that our analysis analyzes 98% of the scripts in under a minute, and five seconds on average. Manual inspection of the analysis results for a selection of all scripts shows that most of the alarms are real errors.
Fri 24 OctDisplayed time zone: Tijuana, Baja California change
13:30 - 15:00
|Validation of Memory Accesses Through Symbolic Analyses|
Henrique Nazaré Santos UFMG, Izabela Karennina Travizani Maffra UFMG, Willer Fernandes Santos UFMG, Leonardo Barbosa Oliveira UFMG, Laure Gonnord University of Lyon & LIP, France, Fernando Magno Quintão Pereira UFMGLink to publication
|Abstract Semantic Differencing via Speculative Correlation|
OOPSLALink to publication
|Efficient Subcubic Alias Analysis for C|
Qirun Zhang The Hong Kong University of Science and Technology, A: Xiao Xiao The Hong Kong University of Science and Technology, A: Charles Zhang Hong Kong University of Science and Technology, A: Hao Yuan BOPU Technologies, A: Zhendong Su University of California, DavisLink to publication
|Static Analysis for Independent App Developers|
Lucas Brutschy ETH Zurich, Pietro Ferrara IBM Thomas J. Watson Research Center, Peter Müller ETH ZurichLink to publication