Developers create software branches for tentative feature addition and bug fixing, and periodically merge branches to release software with new features or repairing patches. When the program edits from different branches textually overlap (i.e., textual conflicts), or the co-application of those edits lead to compilation or runtime errors (i.e., compiling or dynamic conflicts), it is challenging and time-consuming for developers to eliminate merge conflicts. Prior studies examined %the popularity of merge conflicts and how conflicts were related to code smells or software development process; tools were built to find and solve conflicts. However, some fundamental research questions are still not comprehensively explored, including (1) how conflicts were introduced, (2) how developers manually resolved conflicts, and (3) what conflicts cannot be handled by current tools. For this paper, we took a hybrid approach that combines automatic detection with manual inspection to reveal 204 merge conflicts and their resolutions in 15 open-source repositories. %in the version history of 15 open-source projects. Our data analysis reveals three phenomena. First, compiling and dynamic conflicts are harder to detect, although current tools mainly focus on textual conflicts. Second, in the same merging context, developers usually resolved similar textual conflicts with similar strategies. Third, developers manually fixed most of the inspected compiling and dynamic conflicts by similarly editing the merged version as what they did for one of the branches. Our research reveals the challenges and opportunities for automatic detection and resolution of merge conflicts; it also sheds light on related areas like systematic program editing and change recommendation.


翻译:开发者创建软件分支, 用于临时添加特性和纠正错误, 并定期合并分支, 以发布带有新特性或修补补补补补补补的软件。 当程序编辑不同分支的文本重叠( 文本冲突) 或这些编辑共同应用导致编译或运行错误( 汇编或动态冲突) 时, 开发者要消除合并冲突既具有挑战性和耗时性。 先前的研究检查合并冲突的流行程度, 以及冲突与代码气味或软件开发过程的关系; 建立工具以查找和解决冲突。 但是, 一些基本研究问题仍未得到全面探讨, 包括:(1) 冲突是如何引入的, (2) 开发者如何手工解决冲突, 以及 (3) 现有工具无法处理的冲突。 对于本文,我们采取了一种混合方法, 将自动检测与手动检查结合起来, 以揭示204个合并的冲突及其在15个开放源储存库中的决议。% 在15个公开源项目版本的历史中, 我们的数据分析揭示了三种现象。 首先, 汇编和动态的编辑冲突和动态冲突更难探测, 尽管当前的工具主要侧重于文字冲突。 第二, 合并背景背景, 在相同的背景中, 的合并背景下, 开发者通常以固定的校正动的校正型的校正的校程的校验程 的校验程 。

0
下载
关闭预览

相关内容

最新《Transformers模型》教程,64页ppt
专知会员服务
306+阅读 · 2020年11月26日
专知会员服务
123+阅读 · 2020年9月8日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
计算机 | USENIX Security 2020等国际会议信息5条
Call4Papers
7+阅读 · 2019年4月25日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
大数据 | 顶级SCI期刊专刊/国际会议信息7条
Call4Papers
10+阅读 · 2018年12月29日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
【计算机类】期刊专刊/国际会议截稿信息6条
Call4Papers
3+阅读 · 2017年10月13日
已删除
将门创投
3+阅读 · 2017年9月12日
Arxiv
9+阅读 · 2021年3月3日
Anomalous Instance Detection in Deep Learning: A Survey
Deep Learning for Deepfakes Creation and Detection
Arxiv
6+阅读 · 2019年9月25日
Arxiv
11+阅读 · 2019年4月15日
Augmentation for small object detection
Arxiv
11+阅读 · 2019年2月19日
Arxiv
3+阅读 · 2018年12月18日
Deep Learning for Generic Object Detection: A Survey
Arxiv
13+阅读 · 2018年9月6日
VIP会员
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
计算机 | USENIX Security 2020等国际会议信息5条
Call4Papers
7+阅读 · 2019年4月25日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
大数据 | 顶级SCI期刊专刊/国际会议信息7条
Call4Papers
10+阅读 · 2018年12月29日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
【计算机类】期刊专刊/国际会议截稿信息6条
Call4Papers
3+阅读 · 2017年10月13日
已删除
将门创投
3+阅读 · 2017年9月12日
相关论文
Arxiv
9+阅读 · 2021年3月3日
Anomalous Instance Detection in Deep Learning: A Survey
Deep Learning for Deepfakes Creation and Detection
Arxiv
6+阅读 · 2019年9月25日
Arxiv
11+阅读 · 2019年4月15日
Augmentation for small object detection
Arxiv
11+阅读 · 2019年2月19日
Arxiv
3+阅读 · 2018年12月18日
Deep Learning for Generic Object Detection: A Survey
Arxiv
13+阅读 · 2018年9月6日
Top
微信扫码咨询专知VIP会员