The Research Group is Moving!

During winter term 2021/22, we move to University of Bamberg. From Oct. 15, 2021, Fabian Beck holds a full professor position on Information Visualization.

New webpage of the research group: https://www.uni-bamberg.de/vis

Publications

Publications of the research group since 2016. For earlier publications, please visit Fabian Beck's Google Scholar or DBLP profile.

Generating Accurate and Compact Edit Scripts using Tree Differencing

Type of Publication: Article in Collected Edition

Generating Accurate and Compact Edit Scripts using Tree Differencing

Author(s):
Frick, Veit; Grassauer, Thomas; Pinzger, Martin; Beck, Fabian
Title of Anthology:
Proceedings of the 2018 IEEE International Conference on Software Maintenance and Evolution
pages:
264-274
Publisher:
IEEE
Publication Date:
2018
Digital Object Identifier (DOI):
doi:10.1109/ICSME.2018.00036
Fulltext:
Generating Accurate and Compact Edit Scripts using Tree Differencing (4.77 MB)
Citation:
Download BibTeX

Abstract

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.