Projects per year
Abstract
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.
Original language | English |
---|---|
Article number | e2602 |
Number of pages | 20 |
Journal | Journal of Software: Evolution and Process |
Volume | 36 |
Issue number | 5 |
DOIs | |
Publication status | Published - May 2024 |
Keywords
- Android
- Apache ANT
- Apache Maven
- build systems
- Gradle
- open source
-
ValDefFixApp: Values-oriented Defect Fixing for Mobile Software Applications
Grundy, J. (Primary Chief Investigator (PCI)), Whittle, J. (Partner Investigator (PI)) & Turhan, B. (Partner Investigator (PI))
2/05/20 → 31/12/23
Project: Research
-
HCMDSE: Human-centric Model-driven Software Engineering
Grundy, J. (Primary Chief Investigator (PCI))
Australian Research Council (ARC)
3/02/20 → 2/02/25
Project: Research
-
Enabling Compatible and Secure Mobile Apps via Automated Program Repair
Li, L. (Primary Chief Investigator (PCI))
Australian Research Council (ARC)
1/03/20 → 9/09/22
Project: Research