How Different Are Different diff Algorithms in Git?
Not on the map. Why?
Abstract (arXiv)
Automatic identification of the differences between two versions of a file is a common and basic task in several applications of mining code repositories. Git, a version control system, has a diff utility and users can select algorithms of diff from the default algorithm Myers to the advanced Histogram algorithm. From our systematic mapping, we identified three popular applications of diff in recent studies. On the impact on code churn metrics in 14 Java projects, we obtained different values in 1.7% to 8.2% commits based on the different diff algorithms. Regarding bug-introducing change identification, we found 6.0% and 13.3% in the identified bug-fix commits had different results of bug-introducing changes from 10 Java projects. For patch application, we found that the Histogram is more suitable than Myers for providing the changes of code, from our manual analysis. Thus, we strongly recommend using the Histogram algorithm when mining Git repositories to consider differences in source code.
Key facts. Cited by 6 papers in the map (data through 7 Oct 2026). First posted on arXiv 7 Feb 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2025: 3; 2026: 3.
6 papers.
- 2025Semantic Commit: Helping Users Update Intent Specifications for AI Memory at Scalecited by 3
- 2025Why Attention Fails: A Taxonomy of Faults in Attention-Based Neural Networkscited by 1
- 2026Learning from 53.6K Real-World Developer Edits of AI-Generated Codecited by 1
- 2025What a diff makes: automating code migration with large language modelscited by 0
- 2026MAIC-UI: Making Interactive Courseware with Generative UIcited by 0
- 2026CogEvol: Towards Efficient and Reliable Learning Environment Generationcited by 0
- 2026CogEvol: Towards Efficient and Reliable Learning Environment Generation31 Aug 2026
- 2026Learning from 53.6K Real-World Developer Edits of AI-Generated Code27 Jul 2026
- 2026MAIC-UI: Making Interactive Courseware with Generative UI28 Apr 2026
- 2025What a diff makes: automating code migration with large language models31 Oct 2025
- 2025Why Attention Fails: A Taxonomy of Faults in Attention-Based Neural Networks6 Aug 2025
- 2025Semantic Commit: Helping Users Update Intent Specifications for AI Memory at Scale12 Apr 2025