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 条
  • [21] Improving the static analysis of embedded languages via partial evaluation
    Herman, D
    Meunier, P
    ACM SIGPLAN NOTICES, 2004, 39 (09) : 16 - 27
  • [22] An Analysis of the Education Category in App Markets
    Ozdemir, Sebnem
    Akadal, Emre
    Reis, Zerrin Ayvaz
    INTERNATIONAL JOURNAL OF E-ADOPTION, 2014, 6 (02) : 14 - 30
  • [23] Closed-Form Upper Bounds in Static Cost Analysis
    Albert, Elvira
    Arenas, Puri
    Genaim, Samir
    Puebla, German
    JOURNAL OF AUTOMATED REASONING, 2011, 46 (02) : 161 - 203
  • [24] STATIC ANALYSIS OF POSTSCRIPT CODE
    HORSPOOL, RN
    VITEK, J
    COMPUTER LANGUAGES, 1993, 19 (02): : 65 - 78
  • [25] QuickChecking static analysis properties
    Midtgaard, Jan
    Moller, Anders
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2017, 27 (06)
  • [26] Static Analysis of String Values
    Costantini, Giulia
    Ferrara, Pietro
    Cortesi, Agostino
    FORMAL METHODS AND SOFTWARE ENGINEERING, 2011, 6991 : 505 - +
  • [27] Static Analysis of Deterministic Negotiations
    Esparza, Javier
    Muscholl, Anca
    Walukiewicz, Igor
    2017 32ND ANNUAL ACM/IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE (LICS), 2017,
  • [28] Naturalistic Static Program Analysis
    Kallehbasti, Mohammad Mehdi Pourhashem
    Ghafari, Mohammad
    2023 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING, SANER, 2023, : 743 - 747
  • [29] On the complexity analysis of static analyses
    Mcallester, D
    JOURNAL OF THE ACM, 2002, 49 (04) : 512 - 537
  • [30] A system for the static analysis of XPath
    Geneves, Pierre
    Layaida, Nabil
    ACM TRANSACTIONS ON INFORMATION SYSTEMS, 2006, 24 (04) : 475 - 502