Die Arbeitsgruppe zieht um!

Wir wechseln im Wintersemester 2021/22 an die Universität Bamberg. Ab 15. Oktober 2021 übernimmt Fabian Beck den dortigen Lehrstuhl für Informationsvisualisierung.

Neue Webseite der Arbeitsgruppe: https://www.uni-bamberg.de/vis


Publikationen der Arbeitsgruppe, die seit 2016 erschienen sind. Frühere Publikationen von Fabian Beck sind auf Google Scholar oder DBLP zu finden.

Generating Accurate and Compact Edit Scripts using Tree Differencing

Art der Publikation: Beitrag in Sammelwerk

Generating Accurate and Compact Edit Scripts using Tree Differencing

Frick, Veit; Grassauer, Thomas; Pinzger, Martin; Beck, Fabian
Titel des Sammelbands:
Proceedings of the 2018 IEEE International Conference on Software Maintenance and Evolution
Digital Object Identifier (DOI):
Generating Accurate and Compact Edit Scripts using Tree Differencing (4.77 MB)
Download BibTeX


For analyzing changes in source code, edit scriptsare used to describe the differences between two versions of afile. These scripts consist of a list of actions that, applied to thesource file, result in the new version of the file. In contrast toline-based source code differencing, tree-based approaches suchas GumTree, MTDIFF, or ChangeDistiller extract changes bycomparing the abstract syntax trees (AST) of two versions of asource file. One benefit of tree-based approaches is their abilityto capture moved (sub) trees in the AST. Our approach, theIterative Java Matcher (IJM), builds upon GumTree and aims atgenerating more accurate and compact edit scripts that capturethe developer's intent. This is achieved by improving the qualityof the generated move and update actions, which are the mainsource of inaccurate actions generated by previous approaches. To evaluate our approach, we conducted a study with 11 external experts and manually analyzed the accuracy of 2400 randomly selected editactions. Comparing IJM to GumTree and MTDIFF, the resultsshow that IJM provides better accuracy for move and updateactions and is more beneficial to understanding the changes.