arrow
返回

Operation-Based Refactoring-Aware Merging: An Empirical Evaluation

delete2023-04-01
delete3
delete
OA
AI
M
Max Ellis *
S
Sarah Nadi
D
Danny Dig
DOI:10.1109/TSE.2022.3228851delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Dealing with merge conflicts in version control systems is a challenging task for software developers. Resolving merge conflicts is a time-consuming and error-prone process, which distracts developers from important tasks. Recent work shows that refactorings are often involved in merge conflicts and that refactoring-related conflicts tend to be larger, making them harder to resolve. In the literature, there are two refactoring-aware merging techniques that claim to automatically resolve refactoring-related conflicts; however, these two techniques have never been empirically compared. In this paper, we present RefMerge, a rejuvenated Java-based design and implementation of the first technique, which is an operation-based refactoring-aware merging algorithm. We compare RefMerge to Git and the state-of-the-art graph-based refactoring-aware merging tool, IntelliMerge, on 2,001 merge scenarios with refactoring-related conflicts from 20 open-source projects. We find that RefMerge resolves or reduces conflicts in 497 (25%) merge scenarios while increasing conflicting LOC in only 214 (11%) scenarios. On the other hand, we find that IntelliMerge resolves or reduces conflicts in 478 (24%) merge scenarios but increases conflicting LOC in 597 (30%) merge scenarios. We additionally conduct a qualitative analysis of the differences between the three merging algorithms and provide insights of the strengths and weaknesses of each tool. We find that while IntelliMerge does well with ordering and formatting conflicts, it struggles with class-level refactorings and scenarios with several refactorings. On the other hand, RefMerge is resilient to the number of refactorings in a merge scenario, but we find that RefMerge introduces conflicts when inverting move-related refactorings.
Keyword:
Merging
Codes
Control systems
Software
Semantics
History
Task analysis
Conflict resolution
refactoring
software merging
revision control systems

期刊

IEEE Transactions on Software Engineering 封面图
IEEE Transactions on Software Engineering
IF:
5.6
论文数:
2.9K
被引数:
1.1W

机构

University of Colorado System 封面图
University of Colorado System
学者数:
6.3W
论文数: 5.5W
被引数: 1.8K
U
university of alberta
学者数:
5.1W
论文数: 4.9W
被引数: 65
T
Technical University of Darmstadt
学者数:
1.3W
论文数: 10.0K
被引数: 1.2W
学者 查看更多机构
引用论文

引用论文

Radiation damage of optical fiber waveguides at long wavelengths
err1982-02-01
err0
PREAI
errE. J. Friebele; M. E. Gingerich; K. J. Long
err分享
err收藏
Data from the synthesis and characterization of banana starch nanoparticles from different botanical varieties
err2021-08-01
err0
errOAAI
errNatalia Baena-Jurado; Leidy T. Sanchez; Magda I. Pinzon; Cristian C. Villa
err分享
err收藏
The anterior tibial vessels and their role in epiphyseal and diaphyseal transfer of the fibula: experimental study and clinical applications
err1988-09-01
err0
PREAI
errG.Ian Taylor; Plastic Surgeon; Russell J. Corlett; William F. Cole; Kenneth L. Wilson; Martin Rees
err分享
err收藏
err分享
err收藏
err分享
err收藏
err分享
err收藏
学者 查看更多内容