GitEvo: Code Evolution Analysis for Git Repositories

πŸ“… 2026-01-31
πŸ“ˆ Citations: 1
✨ Influential: 0
πŸ“„ PDF
πŸ€– AI Summary
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.

Technology Category

Application Category

πŸ“ Abstract
Analyzing the code evolution of software systems is relevant for practitioners, researchers, and educators. It can help practitioners identify design trends and maintenance challenges, provide researchers with empirical data to study changes over time, and give educators real-world examples that enhance the teaching of software evolution concepts. Unfortunately, we lack tools specifically designed to support code evolution analysis. In this paper, we propose GitEvo, a multi-language and extensible tool for analyzing code evolution in Git repositories. GitEvo leverages Git frameworks and code parsing tools to integrate both Git-level and code-level analysis. We conclude by describing how GitEvo can support the development of novel empirical studies on code evolution and act as a learning tool for educators and students. GitEvo is available at: https://github.com/andrehora/gitevo.
Problem

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

code evolution
Git repositories
software evolution
empirical analysis
development tools
Innovation

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

code evolution
Git repository analysis
multi-language tool
empirical software engineering
software maintenance
πŸ”Ž Similar Papers
No similar papers found.