version control

Designs, builds, and analyzes systems, repositories, and workflows that track and manage changes to files and artifacts over time, including commit histories, branching and merging strategies, tags/releases, and access controls. Implements and evaluates operations for diffs, merges and conflict resolution, history rewriting, and integration of version control with collaboration and automation tools.

versioncontrol

Recent Skill Trend

Momentum and market value over time
Trending
Score
No comparison yet
-1.11
Oct 01, 2026Oct 01, 2026
Career
Value
No comparison yet
$191K/year
Oct 01, 2026Oct 01, 2026

Must-Read Papers

Most classic and influential ideas
View more

This study addresses the lack of systematic understanding regarding the evolution of GitHub Actions workflows. Through a mixed-methods approach, we conduct the first large-scale empirical analysis of over 3.4 million workflow file versions from more than 49,000 repositories spanning November 2019 to August 2025. We identify seven categories of conceptual changes and find that repositories typically contain a median of three workflow files, with 7.3% of workflows modified weekly—approximately 75% of which involve only a single change, predominantly in task configuration and specification. Our findings further indicate that current large language model (LLM) tools have not yet significantly influenced workflow maintenance frequency, offering empirical grounding for the design of fine-grained automated maintenance tools.

CI/CDempirical studyGitHub Actions

Altered Histories in Version Control System Repositories: Evidence from the Trenches

Sep 11, 2025
SR
Solal Rapaport
🏛️ LTCI | Telecom Paris | Institut Polytechnique de Paris

This study presents the first large-scale empirical analysis of Git history rewriting and its threats to software supply chain integrity and reproducibility. Addressing risks—including push conflicts, broken provenance, and malicious code injection—arising from history-altering operations (e.g., rebase, filter-branch) in public repositories, the authors analyze 111 million open-source projects archived by Software Heritage. Leveraging static analysis and two in-depth case studies, they propose the first evidence-driven taxonomy of Git history rewriting and develop GitHistorian, an automated detection tool. Applied at scale, the methodology identifies 1.22 million projects exhibiting history rewriting (8.7 million operations total), revealing prevalent legitimate use cases such as license updates and sensitive information removal. The work establishes a novel, scalable methodology for supply chain security assessment and delivers an open, extensible infrastructure for detecting and characterizing historical tampering.

Analyzing impacts on repository integrity and reproducibilityIdentifying security risks from rewritten commit historiesInvestigating Git history alterations in public repositories

This study addresses the lack of systematic understanding regarding how GitHub Actions workflows are used in real-world scenarios, how developers respond to workflow failures, and how these practices relate to project characteristics. Combining large-scale quantitative analysis of 258,300 workflow runs with qualitative case studies across 21 diverse repositories, this work identifies three typical patterns developers employ to handle workflow failures and uncovers a “configuration–usage gap”—where YAML configurations exist but workflows remain effectively unused. Furthermore, the study empirically validates five hypotheses linking project features to workflow usage intensity, revealing a significant positive correlation between high usage intensity and low failure rates. These findings provide actionable empirical evidence for improving CI/CD practices.

CI/CDfailure responseGitHub Actions

This study addresses the lack of systematic understanding in the configuration and maintenance of CI/CD caching, which imposes a significant burden on developers despite its benefits for build efficiency. Through a large-scale empirical analysis of 952 repositories on GitHub Actions—encompassing 1,556 workflow files and over ten thousand cache-related changes—the authors employ code mining, configuration analysis, commit tracing, and statistical modeling to uncover real-world caching practices, evolutionary patterns, and human-bot collaboration in maintenance. The findings reveal that cache adopters are more active, caching strategies are diverse and frequently adjusted, and build- and test-related tasks evolve rapidly. Manual interventions primarily address misconfigurations, whereas version upgrades are predominantly automated by bots. The work quantifies the maintenance overhead of caching and provides empirical foundations for improving developer tooling.

cache maintenanceCI/CD cachingempirical study

Existing tools struggle to support fine-grained analysis of software code evolution effectively. To address this limitation, this work proposes GitEvo—a multilingual, extensible analysis framework that uniquely integrates Git version metadata with syntactic code structures, such as abstract syntax trees (ASTs), enabling deep co-modeling of version history and code structure for the first time. GitEvo facilitates cross-language tracking of code evolution, computation of evolutionary metrics, and interactive visualization. Its effectiveness has been validated on real-world repositories, demonstrating its utility both as a foundation for empirical software engineering research and as an educational platform for understanding the patterns and principles of software evolution.

code evolutiondevelopment toolsempirical analysis

Latest Papers

What's happening recently
View more

This work proposes the first deep integration of Git-style version control into MatrixOne, a cloud-native relational database, to overcome the limitations of existing version control systems in managing large-scale data and the lack of native support for branching, diffing, and merging in traditional databases. Leveraging MatrixOne’s immutable storage architecture and multi-version concurrency control (MVCC), the system enables near real-time cloning, branching/tagging, differencing, merging, and rollback operations on terabyte-scale datasets. It supports atomic deployments, isolation between development and production environments, and seamless integration into CI/CD pipelines. By ensuring strong consistency without service interruption, the approach significantly enhances collaboration efficiency and reliability in data engineering workflows.

data managementdatabase systemsdiff and merge

This study addresses the critical issue of frequent failures in GitHub Actions workflows, which severely undermine automation reliability and maintainability. For the first time, it systematically maps 197 language constructs to 14 workflow capability features through a large-scale quantitative analysis of over 260,000 workflows across 49,000 repositories. By integrating language construct categorization with metadata mining, the work uncovers prevalent usage patterns, evolutionary trends, and their impact on workflow reliability. The findings reveal that only a small subset of constructs is heavily used, and that specific capability features are significantly associated with elevated failure rates and maintenance costs. These empirical insights provide actionable guidance for optimizing workflow design and improving robustness in continuous integration and delivery pipelines.

execution failuresGitHub Actionslanguage constructs

This work addresses the challenge that developers often make errors when performing complex Git operations, and existing large language models (LLMs) struggle to ensure correctness and safety due to their limited formal reasoning capabilities. To overcome this limitation, the paper proposes a novel approach that integrates automated planning with LLMs, enabling the system to interpret natural language instructions and formally model the state of a Git repository to generate safe, verifiable command sequences. By combining symbolic reasoning with language understanding, the method significantly improves the success rate of Git operations compared to pure LLM-based solutions. Experimental results demonstrate consistent performance gains across multiple evaluation metrics, thereby enhancing both the reliability and interpretability of AI-powered developer assistance tools.

Automated PlanningDeveloper AssistanceGit

This work addresses the limitations of traditional line-based merging algorithms, which often generate spurious conflicts during code refactoring or concurrent editing, and existing syntax- or semantics-aware approaches that suffer from language specificity, formatting loss, and poor cross-file adaptability. The paper proposes Summer, a document-format-agnostic, token-level merging algorithm that decomposes text into universal tokens and models branch changes as string rewrite and move operations. Without relying on language-specific parsers, Summer supports structured edits such as function extraction and inlining. Evaluated on the ConflictBench benchmark, Summer achieves 36% accuracy—the highest among evaluated tools—in precisely reproducing developers’ actual merge outcomes across both Java and non-Java files, while ranking second in semantic correctness, thereby demonstrating the first text-level merging approach that effectively balances generality with semantic awareness.

heterogeneous artifactsmerge conflictsrefactoring

Hot Scholars

BA

Bram Adams

Queen's University
software release engineeringsoftware integrationsoftware build systemssoftware modularity
ZL

Zhiyu Li

Tianjin University
Robust controlattitude control
RM

Rashid Mushkani

University of Montreal I Mila
Public (Space & Life)Sociotechnical AIUrban AnalyticsCommunity-Centered AI
AE

Ahmed E. Hassan

Mustafa Prize Laureate, ACM/IEEE/NSERC Steacie Fellow, ACM Influential/IEEE Distinguished Educator
Mining Software RepositoriesSoftware AnalyticsEmpirical Software EngineeringSoftware
CT

Christoph Treude

Associate Professor of Computer Science, Singapore Management University
Software EngineeringEmpirical Software EngineeringHuman-AI InteractionAI for Science