How we resolve conflict: an empirical study of method-level conflict resolution

How we resolve conflict: an empirical study of method-level conflict resolution
复制标题

DOI:
10.1109/swan.2015.7070484
复制
发表时间:
2015-03
期刊:
2015 IEEE 1st International Workshop on Software Analytics (SWAN)
影响因子:
--
通讯作者:
Ryohei Yuzuki;Hideaki Hata;Ken-ichi Matsumoto
Ryohei Yuzuki;Hideaki Hata;Ken-ichi Matsumoto
中科院分区:
其他
文献类型:
--
作者:
Ryohei Yuzuki;Hideaki Hata;Ken-ichi Matsumoto

文献摘要

被引文献

相似文献

上下文:分支和合并是大规模软件开发项目中的常见活动。与分支机构的隔离开发使开发人员能够将精力集中在特定任务上,而不会浪费时间,而不会在其他开发人员的变化上造成的问题。在分支机构完成任务后,应通过合并将这些分支集成到共同的分支中。合并时发生冲突时,开发人员需要解决麻烦的冲突。目标:为了支持解决冲突的合并,我们旨在了解大规模研究中如何在实践中解决冲突。方法:我们提出了识别冲突并以方法级别检测冲突解决冲突的技术。结果:通过对Java编写的10个OSS项目的分析,我们发现(1)44%(339/779)的冲突是由同时改变相同位置的变化引起的,48%(375/779)是通过删除方法来删除方法,8%(65/779)是通过重命名的方法,(2)99%(771/779)的冲突可以通过直接采用一种方法来解决。结论:我们的结果表明,大多数冲突都是简单地解决的。我们未来的工作之一是开发支持解决冲突的方法。
Context: Branching and merging are common activities in large-scale software development projects. Isolated development with branching enables developers to focus their effort on their specific tasks without wasting time on the problems caused by other developers' changes. After the completion of tasks in branches, such branches should be integrated into common branches by merging. When conflicts occur in merging, developers need to resolve the conflicts, which are troublesome. Goal: To support conflict resolution in merging, we aim to understand how conflicts are resolved in practice from large-scale study. Method: We present techniques for identifying conflicts and detecting conflict resolution in method level. Result: From the analysis of 10 OSS projects written in Java, we found that (1) 44% (339/779) of conflicts are caused by changing concurrently the same positions of methods, 48% (375/779) are by deleting methods, 8% (65/779) are by renaming methods, and that (2) 99% (771/779) of conflicts are resolved by adopting one method directly. Conclusions: Our results suggest that most of conflicts are resolved by simple way. One of our future works is developing methods for supporting conflict resolution.