首页> 外文会议>IEEE International Conference on Software Analysis, Evolution, and Reengineering >Are Refactorings to Blame? An Empirical Study of Refactorings in Merge Conflicts
【24h】

Are Refactorings to Blame? An Empirical Study of Refactorings in Merge Conflicts

机译:难道是重构?合并冲突中重构的实证研究

获取原文

摘要

With the rise of distributed software development, branching has become a popular approach that facilitates collaboration between software developers. One of the biggest challenges that developers face when using multiple development branches is dealing with merge conflicts. Conflicts occur when inconsistent changes happen to the code. Resolving these conflicts can be a cumbersome task as it requires prior knowledge about the changes in each of the development branches. A type of change that could potentially lead to complex conflicts is code refactoring. Previous studies have proposed techniques for facilitating conflict resolution in the presence of refactorings. However, the magnitude of the impact that refactorings have on merge conflicts has never been empirically evaluated. In this paper, we perform an empirical study on almost 3,000 well-engineered open-source Java software repositories and investigate the relation between merge conflicts and 15 popular refactoring types. Our results show that refactoring operations are involved in 22% of merge conflicts, which is remarkable taking into account that we investigated a relatively small subset of all possible refactoring types. Furthermore, certain refactoring types, such as EXTRACT METHOD, tend to be more problematic for merge conflicts. Our results also suggest that conflicts that involve refactored code are usually more complex, compared to conflicts with no refactoring changes.
机译:随着分布式软件开发的兴起,分支已成为促进软件开发人员之间协作的流行方法。开发人员在使用多个开发分支时面临的最大挑战之一是处理合并冲突。当对代码进行不一致的更改时,就会发生冲突。解决这些冲突可能是一项繁琐的任务,因为它需要事先了解每个开发分支中的更改。代码重构是一种可能导致复杂冲突的更改。先前的研究提出了在重构存在时促进冲突解决的技术。但是,从未凭经验评估过重构对合并冲突的影响程度。在本文中,我们对近3,000个精心设计的开放源Java软件存储库进行了实证研究,并研究了合并冲突和15种流行的重构类型之间的关系。我们的结果表明,重构操作涉及22%的合并冲突,考虑到我们调查了所有可能的重构类型的一个相对较小的子集,这一点非常明显。此外,某些重构类型(例如EXTRACT METHOD)对于合并冲突而言更成问题。我们的结果还表明,与没有重构更改的冲突相比,涉及重构代码的冲突通常更为复杂。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号