Publications

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

Art der Publikation: Beitrag in Sammelwerk

Generating Accurate and Compact Edit Scripts using Tree Differencing

Autor(en):
Frick, Veit; Grassauer, Thomas; Pinzger, Martin; Beck, Fabian
Titel des Sammelbands:
Proceedings of the 2018 IEEE International Conference on Software Maintenance and Evolution
Seiten:
264-274
Verlag:
IEEE
Veröffentlichung:
2018
Digital Object Identifier (DOI):
doi:0.1109/ICSME.2018.00036
Zitation:
Download RIS

Kurzfassung

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.