Generating Accurate and Compact Edit Scripts using Tree Differencing
dc.contributor.author | Frick, Veit | |
dc.contributor.author | Grassauer, Thomas | |
dc.contributor.author | Beck, Fabian | |
dc.contributor.author | Pinzger, Martin | |
dc.contributor.editor | Felderer, Michael | |
dc.contributor.editor | Hasselbring, Wilhelm | |
dc.contributor.editor | Rabiser, Rick | |
dc.contributor.editor | Jung, Reiner | |
dc.date.accessioned | 2020-02-03T13:03:27Z | |
dc.date.available | 2020-02-03T13:03:27Z | |
dc.date.issued | 2020 | |
dc.description.abstract | For analyzing changes in source code, edit scripts are used to describe the differences between two versions of a file. These scripts consist of a list of actions that, applied to the source file, result in the new version of the file. In contrast to line-based source code differencing, tree-based approaches such as GumTree, MTDIFF, or ChangeDistiller extract changes by comparing the abstract syntax trees (AST) of two versions of a source file. One benefit of tree-based approaches is their ability to capture moved (sub)trees in the AST. Our approach, the Iterative Java Matcher (IJM), builds upon GumTree and aims at generating more accurate and compact edit scripts that capture the developer's intent. This is achieved by improving the quality of the generated move and update actions, which are the main source 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 edit actions. Comparing IJM to GumTree and MTDIFF, the results show that IJM provides better accuracy for move and update actions and is more beneficial to understanding the changes. | en |
dc.identifier.doi | 10.18420/SE2020_24 | |
dc.identifier.isbn | 978-3-88579-694-7 | |
dc.identifier.pissn | 1617-5468 | |
dc.identifier.uri | https://dl.gi.de/handle/20.500.12116/31701 | |
dc.language.iso | en | |
dc.publisher | Gesellschaft für Informatik e.V. | |
dc.relation.ispartof | Software Engineering 2020 | |
dc.relation.ispartofseries | Lecture Notes in Informatics (LNI) - Proceedings, Volume P-300 | |
dc.subject | Change Extraction | |
dc.subject | Tree Differencing | |
dc.subject | Abstract Syntax Trees | |
dc.subject | Software Evolution | |
dc.title | Generating Accurate and Compact Edit Scripts using Tree Differencing | en |
dc.type | Text/Conference Paper | |
gi.citation.endPage | ||
gi.citation.publisherPlace | Bonn | |
gi.citation.startPage | 85 | |
gi.conference.date | 24.-28. Feburar 2020 | |
gi.conference.location | Innsbruck, Austria | |
gi.conference.sessiontitle | Wartung und Evolution 1 |
Dateien
Originalbündel
1 - 1 von 1