Fine-grained, accurate and scalable source differencing - Université de Bordeaux
Communication Dans Un Congrès Année : 2024

Fine-grained, accurate and scalable source differencing

Résumé

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.

CCS CONCEPTS

• Software and its engineering → Software maintenance tools; Software configuration management and version control systems.

Fichier principal
Vignette du fichier
GumTree_simple__fine_grained__accurate_and_scalable_source_differencing.pdf (1.72 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04855170 , version 1 (24-12-2024)

Identifiants

Citer

Jean-Rémy Falleri, Matias Martinez. Fine-grained, accurate and scalable source differencing. ICSE '24: IEEE/ACM 46th International Conference on Software Engineering, Apr 2024, Lisbon, Portugal. pp.1-12, ⟨10.1145/3597503.3639148⟩. ⟨hal-04855170⟩

Collections

CNRS UNIV-BORDEAUX
0 Consultations
0 Téléchargements

Altmetric

Partager

More