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.
翻译:分析软件系统的代码演化对从业者、研究人员和教育工作者都具有重要意义。它可以帮助从业者识别设计趋势和维护挑战,为研究人员提供研究随时间变化的实证数据,并为教育工作者提供增强软件演化概念教学的真实案例。遗憾的是,目前缺乏专门支持代码演化分析的工具。本文提出GitEvo,一个用于分析Git仓库中代码演化的多语言可扩展工具。GitEvo利用Git框架和代码解析工具,整合了Git层级和代码层级的分析。最后,我们阐述了GitEvo如何支持开展新颖的代码演化实证研究,并作为教育工作者和学生的学习工具。GitEvo可通过以下网址获取:https://github.com/andrehora/gitevo。