论文标题

重构图:随着时间的推移评估重构

Refactoring Graphs: Assessing Refactoring over Time

论文作者

Brito, Aline, Hora, Andre, Valente, Marco Tulio

论文摘要

重构是软件演化期间的重要活动。通常,从业者依靠这种转换来改善源代码可维护性和质量。结果,此过程可能会产生新的源代码实体或更改现有的结构。有时,转换是原子化的,即在单个提交中执行的。在其他情况下,它们会生成随着时间的推移进行的修改序列。为了研究和理由,随着时间的流逝,我们提出了一个称为重构图的新颖概念,并提供了算法来构建此类图。然后,我们研究了10个流行的基于Java的10个流行的历史。消除了琐碎的图表后,我们表征了1,150个重构图的大量样本,提供了有关其大小,提交,年龄,重构组成和开发人员的定量数据。我们通过讨论应用程序和重构图的含义来结束,例如,以提高代码理解,检测重构模式并支持软件演化研究。

Refactoring is an essential activity during software evolution. Frequently, practitioners rely on such transformations to improve source code maintainability and quality. As a consequence, this process may produce new source code entities or change the structure of existing ones. Sometimes, the transformations are atomic, i.e., performed in a single commit. In other cases, they generate sequences of modifications performed over time. To study and reason about refactorings over time, in this paper, we propose a novel concept called refactoring graphs and provide an algorithm to build such graphs. Then, we investigate the history of 10 popular open-source Java-based projects. After eliminating trivial graphs, we characterize a large sample of 1,150 refactoring graphs, providing quantitative data on their size, commits, age, refactoring composition, and developers. We conclude by discussing applications and implications of refactoring graphs, for example, to improve code comprehension, detect refactoring patterns, and support software evolution studies.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源