Understanding the quality and evolution of Android app build systems

被引:2
|
作者
Liu, Pei [1 ]
Li, Li [1 ]
Liu, Kui [2 ]
McIntosh, Shane [3 ]
Grundy, John [4 ]
机构
[1] Beihang Univ, Sch Software, Beijing, Peoples R China
[2] Huawei, Huawei Software Engn Applicat Technol Lab, Hangzhou, Peoples R China
[3] Univ Waterloo, David R Cheriton Sch Comp Sci, Waterloo, ON, Canada
[4] Monash Univ, Fac Informat Technol, Clayton, Vic, Australia
基金
澳大利亚研究理事会;
关键词
Android; Apache ANT; Apache Maven; build systems; Gradle; open source; CONTINUOUS INTEGRATION;
D O I
10.1002/smr.2602
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Build systems are used to transform static source code into executable software. They play a crucial role in modern software development and maintenance. As such, much research effort has been invested in understanding the quality and evolution of build systems, including Apache ANT, Apache Maven, and Make-based ones. However, the quality and evolution of build systems for mobile apps, such as on the Android platform, have not as yet been investigated in detail. Mobile app development, and the Android development context in particular, impose unique constrains, such as different device conditions and capabilities. It presents unique challenges, such as frequently upgraded Android frameworks, which those who implement and maintain build systems must tackle. In this paper, we present an exploratory empirical study of the build systems of 5222 Android projects to better understand their quality and evolution. We (a) study the build technology choices that Android developers make (Gradle being recommended and the most popular choice), (b) explore the sustainability of the official Gradle build system (parts of build files are updated more frequent that others and the update of the special Gradle plugin would induce unrecommended configurations), and (c) analyze the quality of Gradle scripts for Android apps-more than a half of the open-source Android apps cannot be successfully built due to five common root causes.
引用
收藏
页数:20
相关论文
共 50 条
  • [1] Understanding the Evolution of Android App Vulnerabilities
    Gao, Jun
    Li, Li
    Kong, Pingfan
    Bissyande, Tegawende F.
    Klein, Jacques
    IEEE TRANSACTIONS ON RELIABILITY, 2021, 70 (01) : 212 - 230
  • [2] Understanding Android App Piggybacking
    Li, Li
    Li, Daoyuan
    Bissyande, Tegawende F.
    Klein, Jacques
    Le Traon, Yves
    Lo, David
    Cavallaro, Lorenzo
    PROCEEDINGS OF THE 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C 2017), 2017, : 359 - 361
  • [3] On the Evolution of Security Issues in Android App Versions
    Kalysch, Anatoli
    Schilling, Joschua
    Mueller, Tilo
    APPLIED CRYPTOGRAPHY AND NETWORK SECURITY WORKSHOPS, ACNS 2020, 2020, 12418 : 523 - 541
  • [4] Discovering and understanding the vector field using simulation in android app
    Budi, A.
    Muliyati, D.
    4TH INTERNATIONAL SEMINAR OF MATHEMATICS, SCIENCE AND COMPUTER SCIENCE EDUCATION, 2018, 1013
  • [5] The evolution of Java build systems
    Shane McIntosh
    Bram Adams
    Ahmed E. Hassan
    Empirical Software Engineering, 2012, 17 : 578 - 608
  • [6] Understanding Value and Design Choices Made by Android Family App Developers
    Ekambaranathan, Anirudh
    Van Kleek, Max
    Zhao, Jun
    CHI'20: EXTENDED ABSTRACTS OF THE 2020 CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, 2020,
  • [7] Understanding Android App Piggybacking: A Systematic Study of Malicious Code Grafting
    Li, Li
    Li, Daoyuan
    Bissyande, Tegawende F.
    Klein, Jacques
    Le Traon, Yves
    Lo, David
    Cavallaro, Lorenzo
    IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, 2017, 12 (06) : 1269 - 1284
  • [8] Understanding Privacy Awareness in Android App Descriptions Using Deep Learning
    Feichtner, Johannes
    Gruber, Stefan
    PROCEEDINGS OF THE TENTH ACM CONFERENCE ON DATA AND APPLICATION SECURITY AND PRIVACY, CODASPY 2020, 2020, : 203 - 214
  • [9] Design and Implementation of Body Quality Index App Based on Android
    Zhao Limei
    Ma Xiaotie
    2018 INTERNATIONAL SYMPOSIUM ON POWER ELECTRONICS AND CONTROL ENGINEERING (ISPECE 2018), 2019, 1187
  • [10] The evolution of Java']Java build systems
    McIntosh, Shane
    Adams, Bram
    Hassan, Ahmed E.
    EMPIRICAL SOFTWARE ENGINEERING, 2012, 17 (4-5) : 578 - 608