Chronicles of CI/CD: A Deep Dive into its Usage Over Time
- URL: http://arxiv.org/abs/2402.17588v1
- Date: Tue, 27 Feb 2024 15:20:11 GMT
- Title: Chronicles of CI/CD: A Deep Dive into its Usage Over Time
- Authors: Hugo da Gi\~ao, Andr\'e Flores, Rui Pereira, J\'acome Cunha
- Abstract summary: This paper analyzes the technologies developers use for CI/CD by analyzing GitHub repositories.
Using a list of the state-of-the-art CI/CD technologies, we use the GitHub search API to find repositories using each of these technologies.
We provide an overview of the use of CI/CD technologies in our days, but also what happened in the last 12 years.
- Score: 0.5705775078773656
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: DevOps is a combination of methodologies and tools that improves the software
development, build, deployment, and monitoring processes by shortening its
lifecycle and improving software quality. Part of this process is CI/CD, which
embodies mostly the first parts, right up to the deployment. Despite the many
benefits of DevOps and CI/CD, it still presents many challenges promoted by the
tremendous proliferation of different tools, languages, and syntaxes, which
makes the field quite challenging to learn and keep up to date. Software
repositories contain data regarding various software practices, tools, and
uses. This data can help gather multiple insights that inform technical and
academic decision-making. GitHub is currently the most popular software hosting
platform and provides a search API that lets users query its repositories. Our
goal with this paper is to gain insights into the technologies developers use
for CI/CD by analyzing GitHub repositories. Using a list of the
state-of-the-art CI/CD technologies, we use the GitHub search API to find
repositories using each of these technologies. We also use the API to extract
various insights regarding those repositories. We then organize and analyze the
data collected. From our analysis, we provide an overview of the use of CI/CD
technologies in our days, but also what happened in the last 12 years. We also
show developers use several technologies simultaneously in the same project and
that the change between technologies is quite common. From these insights, we
find several research paths, from how to support the use of multiple
technologies, both in terms of techniques, but also in terms of human-computer
interaction, to aiding developers in evolving their CI/CD pipelines, again
considering the various dimensions of the problem.
Related papers
- RepoGraph: Enhancing AI Software Engineering with Repository-level Code Graph [63.87660059104077]
We present RepoGraph, a plug-in module that manages a repository-level structure for modern AI software engineering solutions.
RepoGraph substantially boosts the performance of all systems, leading to a new state-of-the-art among open-source frameworks.
arXiv Detail & Related papers (2024-10-03T05:45:26Z) - Open-CD: A Comprehensive Toolbox for Change Detection [59.79011759027916]
Open-CD is a change detection toolbox that contains a rich set of change detection methods as well as related components and modules.
It gradually evolves into a unified platform that covers many popular change detection methods and contemporary modules.
arXiv Detail & Related papers (2024-07-22T01:04:16Z) - CodeRAG-Bench: Can Retrieval Augment Code Generation? [78.37076502395699]
We conduct a systematic, large-scale analysis of code generation using retrieval-augmented generation.
We first curate a comprehensive evaluation benchmark, CodeRAG-Bench, encompassing three categories of code generation tasks.
We examine top-performing models on CodeRAG-Bench by providing contexts retrieved from one or multiple sources.
arXiv Detail & Related papers (2024-06-20T16:59:52Z) - How to Understand Whole Software Repository? [64.19431011897515]
An excellent understanding of the whole repository will be the critical path to Automatic Software Engineering (ASE)
We develop a novel method named RepoUnderstander by guiding agents to comprehensively understand the whole repositories.
To better utilize the repository-level knowledge, we guide the agents to summarize, analyze, and plan.
arXiv Detail & Related papers (2024-06-03T15:20:06Z) - Investigating Technology Usage Span by Analyzing Users' Q&A Traces in
Stack Overflow [5.391288287087521]
It is crucial for software developers to find technologies that have a high usage span.
C# and Java programming languages have a high usage span, followed by JavaScript.
Our study also exposes the emerging technologies such as SwiftUI,.NET-6.0, Visual Studio 2022, and Blazor WebAssembly framework.
arXiv Detail & Related papers (2023-12-05T23:17:48Z) - Intelligent Software Tooling for Improving Software Development [3.1763879286782966]
Deep Learning (DL) has shown huge advancements in automation across many domains, including Software Development processes.
One of the main reasons behind this success is the availability of large datasets such as open-source code available through GitHub or image datasets of mobile Graphical User Interfaces (GUIs) with RICO and ReDRAW to be trained on.
arXiv Detail & Related papers (2023-10-17T01:29:07Z) - Collaborative, Code-Proximal Dynamic Software Visualization within Code
Editors [55.57032418885258]
This paper introduces the design and proof-of-concept implementation for a software visualization approach that can be embedded into code editors.
Our contribution differs from related work in that we use dynamic analysis of a software system's runtime behavior.
Our visualization approach enhances common remote pair programming tools and is collaboratively usable by employing shared code cities.
arXiv Detail & Related papers (2023-08-30T06:35:40Z) - The GitHub Development Workflow Automation Ecosystems [47.818229204130596]
Large-scale software development has become a highly collaborative endeavour.
This chapter explores the ecosystems of development bots and GitHub Actions.
It provides an extensive survey of the state-of-the-art in this domain.
arXiv Detail & Related papers (2023-05-08T15:24:23Z) - Machine Learning Based Approach to Recommend MITRE ATT&CK Framework for
Software Requirements and Design Specifications [0.0]
To develop secure software, software developers need to think like an attacker through mining software repositories.
In this paper, we use machine learning algorithms to map requirements to the MITRE ATT&CK database.
arXiv Detail & Related papers (2023-02-10T22:15:45Z) - Looking for related discussions on GitHub Discussions [18.688096673390586]
GitHub Discussions is a native forum to facilitate collaborative discussions between users and members of communities hosted on the platform.
As GitHub Discussions resembles PCQA forums, it faces challenges similar to those faced by such environments.
While duplicate posts have the same content - and may be exact copies - near-duplicates share similar topics and information.
We propose an approach based on a Sentence-BERT pre-trained model: the RD-Detector.
arXiv Detail & Related papers (2022-06-23T20:41:33Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.