HistoryFinder: Advancing Method-Level Source Code History Generation with Accurate Oracles and Enhanced Algorithm
Shahidul Islam, Ashik Aowal, Md Sharif Uddin, Shaiful Chowdhury

TL;DR
HistoryFinder is a new method history generation tool that significantly improves accuracy and completeness over existing tools, validated by extensive evaluation and supported by accurate oracles.
Contribution
The paper introduces HistoryFinder, a novel method history generation tool with improved accuracy, and constructs new ground truth oracles for evaluation.
Findings
HistoryFinder outperforms existing tools in precision, recall, and F1 score.
HistoryFinder achieves competitive runtime performance with the lowest execution times.
Git-based tools are faster but less accurate than HistoryFinder.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Software System Performance and Reliability
