Fine-grained, accurate and scalable source differencing
Jean-Rémy Falleri, Matias Martinez
摘要
Understanding code changes is of crucial importance in a wide range of software evolution activities. The traditional approach is to use textual differencing, as done with success since the 1970s with the ubiquitous diff tool. However, textual differencing has the important limitation of not aligning the changes to the syntax of the source code. To overcome these issues, structural (i.e. syntactic) differencing has been proposed in the literature, notably GumTree which was one of the pioneering approaches. The main drawback of GumTree's algorithm is the use of an optimal, but expensive tree-edit distance algorithm that makes it difficult to diff large ASTs. In this article, we describe a less expensive heuristic that enables GumTree to scale to large ASTs while yielding results of better quality than the original GumTree. We validate this new heuristic against 4 datasets of changes in two different languages, where we generate edit-scripts with a median size 50% smaller and a total speedup of the matching time between 50x and 281x.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper3
- pPatch: Automated Vulnerability UnpatchingTianyi Jing, Pengyu Ding, Meng Xu, Yinhao Hu 等FSE 2026
- What Happened in This Pipeline? Diffing Build Logs with CiDiffNicolas Hubner, Jean-Rémy Falleri, Raluca Uricaru, Thomas Degueule 等ISSTA 2025
- HistoryFinder: Advancing Method-Level Source Code History Generation with Accurate Oracles and Enhanced AlgorithmShahidul Islam, S M Ashik Aowal, Md Sharif Uddin, Shaiful ChowdhuryICSE 2026
相关 Paper
- HyperDiff: Computing Source Code Diffs at ScaleQuentin Le Dilavrec, Djamel Eddine Khelladi, Arnaud Blouin, Jean-Marc JézéquelFSE 2023 · 被引用 5 次
- A Differential Testing Approach for Evaluating Abstract Syntax Tree Mapping AlgorithmsYuanrui Fan, Xin Xia, David Lo, Ahmed E. Hassan 等ICSE 2021 · 被引用 18 次
- iASTMapper: An Iterative Similarity-Based Abstract Syntax Tree Mapping AlgorithmNeng Zhang, Qinde Chen, Zibin Zheng, Ying ZouASE 2023 · 被引用 2 次
- Concise, type-safe, and efficient structural diffingSebastian Erdweg, Tamás Szabó, André PacakPLDI 2021 · 被引用 6 次
- DiffFix: Incrementally Fixing AST Diffs via Context and Type InformationGuofeng Zeng, Chang-Ai Sun, Kai Gao, Huai LiuASE 2025
