中文

基于 Git 机制追踪 Java 方法的研究

软件工程 2021-04-23 v1

摘要

方法级历史信息在挖掘软件仓库的研究中十分有用,例如易错模块检测或演化耦合识别。一种名为 Historage 的现有技术将 Java 项目的 Git 仓库转换为更细粒度的仓库。在细粒度仓库中,每个 Java 方法作为单个文件存在。将 Java 方法视为文件具有一项优势,即可以使用 Git 机制追踪 Java 方法。使用 Git 机制追踪方法的最大好处在于,它能够轻松地与任何构建于 Git 基础设施之上的其他工具和技术相连接。然而,Historage 的追踪存在准确性问题,尤其在小型方法上。更具体地说,在小型方法被重命名或移动到另一个类的情况下,Historage 追踪该方法的能力有限。本文提出一种新技术 FinerGit,以改进基于 Git 机制对 Java 方法的追踪能力。我们将 FinerGit 实现为一个系统,并将其应用于 182 个开源软件项目,这些项目共包含 1,768K 个方法。实验结果表明,在方法被重命名或移动到其他类时,我们的工具具有更高的追踪能力。

关键词

引用

@article{arxiv.2003.05336,
  title  = {On Tracking Java Methods with Git Mechanisms},
  author = {Yoshiki Higo and Shinpei Hayashi and Shinji Kusumoto},
  journal= {arXiv preprint arXiv:2003.05336},
  year   = {2021}
}

备注

accepted by Journal of Systems and Software