Static Analysis for Independent App Developers

被引:0
作者
Brutschy, Lucas [1 ]
Ferrara, Pietro [2 ]
Mueller, Peter [1 ]
机构
[1] Swiss Fed Inst Technol, Dept Comp Sci, Zurich, Switzerland
[2] IBM Thomas J Watson Res Ctr, Yorktown Hts, NY USA
关键词
Languages; Reliability; Verification; Abstract Interpretation; Static Program Analysis; Mobile Applications; TouchDevelop;
D O I
10.1145/2714064.2660219
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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. 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.
引用
收藏
页码:847 / 860
页数:14
相关论文
共 50 条
  • [41] Reducing the Overhead of Assertion Run-time Checks via Static Analysis
    Stulova, Nataliia
    Morales, Jose F.
    Hermenegildo, Manuel V.
    PROCEEDINGS OF THE 18TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING (PPDP 2016), 2016, : 90 - 103
  • [42] Static Timing Analysis - What is Special?
    Reineke, Jan
    Wilhelm, Reinhard
    SEMANTICS, LOGICS, AND CALCULI: ESSAYS DEDICATED TO HANNE RIIS NIELSON AND FLEMMING NIELSON ON THE OCCASION OF THEIR 60TH BIRTHDAYS, 2016, 9560 : 74 - 87
  • [43] Static analysis of Linear Logic programming
    Andreoli, JM
    Pareschi, R
    Castagnetti, T
    NEW GENERATION COMPUTING, 1997, 15 (04) : 449 - 481
  • [44] Static analysis of the numerical stability of loops
    Martel, M
    STATIC ANALYSIS, PROCEEDINGS, 2002, 2477 : 133 - 150
  • [45] Progress in Parallelization of Static Program Analysis
    Lu S.-M.
    Zuo Z.-Q.
    Wang L.-Z.
    Ruan Jian Xue Bao/Journal of Software, 2020, 31 (05): : 1243 - 1254
  • [46] Static Analysis in the Continuously Changing World
    Sankaranarayanan, Sriram
    STATIC ANALYSIS, SAS 2013, 2013, 7935 : 4 - 5
  • [47] Software Metrics in Static Program Analysis
    Vogelsang, Andreas
    Fehnker, Ansgar
    Huuck, Ralf
    Reif, Wolfgang
    FORMAL METHODS AND SOFTWARE ENGINEERING, 2010, 6447 : 485 - +
  • [48] Static Analysis of Infrastructure as Code: a Survey
    Chiari, Michele
    De Pascalis, Michele
    Pradella, Matteo
    2022 IEEE 19TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE COMPANION (ICSA-C 2022), 2022, : 218 - 225
  • [49] Static analysis of Linear Logic programming
    Jean -Marc Andreoli
    Remo Pareschi
    Tiziana Castagnetti
    New Generation Computing, 1997, 15 : 449 - 481
  • [50] High Performance Static Analysis for Industry
    Bradley, Mark
    Cassez, Franck
    Fehnker, Ansgar
    Given-Wilson, Thomas
    Huuck, Ralf
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2012, 289 : 3 - 14