CI/CD Configuration Practices in Open-Source Android Apps: An Empirical Study

📅 2024-11-09
🏛️ arXiv.org
📈 Citations: 0
✨ Influential: 0
📄 PDF
🤖 AI Summary
This study addresses core challenges in CI/CD practices for open-source Android applications—namely, configuration complexity, high maintenance overhead, and lack of cross-platform standardization. We conduct an empirical analysis of 2,557 GitHub projects utilizing GitHub Actions, Travis CI, CircleCI, and GitLab CI/CD, employing YAML configuration parsing, commit log topic modeling, and cross-platform comparative analysis. Key findings include: only 9% of projects achieve automated deployment; configurations are updated on average every two months, with over one-third of changes addressing build failures; 50% perform only basic testing; and maintenance intensity strongly correlates with project activity, size, and community engagement. We identify 11 recurring maintenance themes and highlight urgent needs for AI-driven automation tools and portable open-source solutions. This work provides empirical foundations and practical guidelines for standardizing CI/CD in mobile development.

Technology Category

Constraint Satisfaction and Optimization: Solvers and ToolsIntelligent Robots: Other Foundations and ApplicationsSearch and Optimization: Applications

Application Category

Systems and Infrastructure for Web, Mobile and WoT: Applied ML and AI for Web-based mobile applicationsSecurity and Privacy: Large-scale security measurementsGraph Algorithms and Modeling for the Web: Efficient manipulation of static and dynamic Web-related graphs
📝 Abstract
Continuous Integration and Continuous Delivery (CI/CD) is a well-established practice that automatically builds, tests, packages, and deploys software systems. To adopt CI/CD, software developers need to configure their projects using dedicated YML configuration files. Mobile apps have distinct characteristics with respect to CI/CD practices, such as testing on various emulators and deploying to app stores. However, little is known about the challenges and added value of adopting CI/CD in mobile apps and how developers maintain such a practice. In this paper, we conduct an empirical study on CI/CD practices in 2,557 Android apps adopting four popular CI/CD services, namely GitHub Actions, Travis CI, CircleCI, and GitLab CI/CD. We also compare our findings with those reported in prior research on general CI/CD practices to situate them within broader trends. We observe a lack of commonality and standardization across CI/CD services and Android apps, leading to complex YML configurations and associated maintenance efforts. We also observe that CI/CD configurations focus primarily on the build setup, with around half of the projects performing standard testing and only 9% incorporating deployment. In addition, we find that CI/CD configurations are changed bi-monthly on average, with frequent maintenance correlating with active issue tracking, project size/age, and community engagement. Our qualitative analysis of commits uncovered 11 themes in CI/CD maintenance activities, with over a third of the changes focusing on improving workflows and fixing build issues, whereas another third involves updating the build environment, tools, and dependencies. Our study emphasizes the necessity for automation and AI-powered tools to improve CI/CD processes for mobile apps and advocates creating adaptable open-source tools to efficiently manage resources, especially in testing and deployment.
Problem

Research questions and friction points this paper is trying to address.

Analyzing CI/CD configuration challenges in open-source Android apps
Investigating maintenance efforts and standardization gaps in CI/CD services
Exploring automation needs for mobile app CI/CD workflows
Innovation

Methods, ideas, or system contributions that make the work stand out.

Empirical study on CI/CD in 2,557 Android apps
Analyzed YML configurations across four CI/CD services
Advocated AI-powered tools for CI/CD automation
💼 Related Jobs
No related jobs found.
Trent University | University of Toronto | Imam Mohammad Ibn Saud Islamic University
T
T. Ghaleb
Department of Computer Science, Trent University, Peterborough, ON, Canada (major part of this work was done at the Faculty of Information, University of Toronto, Toronto, ON, Canada)
O
Osamah Abduljalil
Computer Science Department, Imam Mohammad Ibn Saud Islamic University, Riyadh, Saudi Arabia
Safwat Hassan
Safwat Hassan
Assistant professor at University of Toronto
Software AnalyticsMining Software RepositoriesEmpirical Software EngineeringAndroidDevOps