一句话:提出方法级代码历史重建工具 HistoryFinder,并构建两个更精确的基准 oracle,在精度、召回与效率上全面超越现有工具。
方法级代码历史的准确重建对维护、重构与代码理解至关重要。现有工具(如 CodeShovel、CodeTracker)的评估受限于不准确的 ground truth oracle。本文通过自动化分析与专家人工验证相结合,系统构建了两个新 oracle:修正后的 CodeShovel oracle 与新开发的 HistoryFinder oracle。在此基础上,作者提出 HistoryFinder 工具,旨在同时提升方法变更历史的准确性与完整性,并保持有竞争力的运行时间。在来自 40 个开源仓库的 400 个方法上进行广泛评估,结果表明 HistoryFinder 在 precision、recall 与 F1 上持续优于 CodeShovel、CodeTracker、IntelliJ 及基于 Git 的基线;其平均与中位执行时间在研究类工具中最低。基于 Git 的工具虽运行最快,但精度与召回显著较低,因此当同时重视准确性与效率时 HistoryFinder 是最佳选择。作者还提供 Web 界面、CLI 与 Java 库以便采用。
Reconstructing a method’s change history efficiently and accurately is critical for many software engineering tasks, including maintenance, refactoring, and comprehension. Despite the availability of method history generation tools such as CodeShovel and CodeTracker, existing evaluations of their effectiveness are limited by inaccuracies in the ground truth oracles used. In this study, we systematically construct two new oracles—the corrected CodeShovel oracle and a newly developed HistoryFinder oracle—by combining automated analysis with expert-guided manual validation. We also introduce HistoryFinder, a new method history generation tool designed to improve not only the accuracy and completeness of method change histories but also to offer competitive runtime performance. Through extensive evaluation across 400 methods from 40 open-source repositories, we show that HistoryFinder consistently outperforms CodeShovel, CodeTracker, IntelliJ, and Git-based baselines in terms of precision, recall, and F1 score. Moreover, HistoryFinder achieves competitive runtime performance, offering the lowest mean and median execution times among all the research-based tools. While Git-based tools exhibit the fastest runtimes, this efficiency comes at the cost of significantly lower precision and recall—leaving HistoryFinder as the best overall choice when both accuracy and efficiency are important. To facilitate adoption, we provide a web interface, CLI, and Java library for flexible usage.
@inproceedings{abs-2507-14716,
title = {HistoryFinder: Advancing Method-Level Source Code History Generation with Accurate Oracles and Enhanced Algorithm},
author = {Shahidul Islam and S M Ashik Aowal and Md Sharif Uddin and Shaiful Chowdhury},
booktitle = {ICSE},
year = {2026},
doi = {10.1145/3744916.3773238}
}