ConE: A Concurrent Edit Detection Tool for Large-scale Software Development

Author:

Maddila Chandra1ORCID,Nagappan Nachiappan1,Bird Christian1,Gousios Georgios2,van Deursen Arie3

Affiliation:

1. Microsoft Research, Redmond, WA, USA

2. Facebook, CA, USA

3. Delft University of Technology, Delft, The Netherlands

Abstract

Modern, complex software systems are being continuously extended and adjusted. The developers responsible for this may come from different teams or organizations, and may be distributed over the world. This may make it difficult to keep track of what other developers are doing, which may result in multiple developers concurrently editing the same code areas. This, in turn, may lead to hard-to-merge changes or even merge conflicts, logical bugs that are difficult to detect, duplication of work, and wasted developer productivity. To address this, we explore the extent of this problem in the pull-request-based software development model. We study half a year of changes made to six large repositories in Microsoft in which at least 1,000 pull requests are created each month. We find that files concurrently edited in different pull requests are more likely to introduce bugs. Motivated by these findings, we design, implement, and deploy a service named Concurrent Edit Detector (ConE) that proactively detects pull requests containing concurrent edits, to help mitigate the problems caused by them. ConE has been designed to scale, and to minimize false alarms while still flagging relevant concurrently edited files. Key concepts of ConE include the detection of the Extent of Overlap between pull requests, and the identification of Rarely Concurrently Edited Files . To evaluate ConE, we report on its operational deployment on 234 repositories inside Microsoft. ConE assessed 26,000 pull requests and made 775 recommendations about conflicting changes, which were rated as useful in over 70% (554) of the cases. From interviews with 48 users, we learned that they believed ConE would save time in conflict resolution and avoiding duplicate work, and that over 90% intend to keep using the service on a daily basis.

Publisher

Association for Computing Machinery (ACM)

Subject

Software

Reference47 articles.

1. Understanding semi-structured merge conflict characteristics in open-source Java projects

2. An Empirical Examination of the Relationship between Code Smells and Merge Conflicts

3. Azure Batch Accessed 2020. Azure Batch. Retrieved from https://azure.microsoft.com/en-us/services/batch/.

4. Retrieved from https://azure.microsoft.com/en-us/services/devops/?nav=min 2020 Azure DevOps

Cited by 3 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Automatic prediction of developers’ resolutions for software merge conflicts;Journal of Systems and Software;2023-12

2. Toward Unveiling the Execution of Large-Scale Agile Project in Global Software Development: A Systematic Literature Review;2023 International Conference on Engineering and Emerging Technologies (ICEET);2023-10-27

3. Operation-Based Refactoring-Aware Merging: An Empirical Evaluation;IEEE Transactions on Software Engineering;2023-04-01

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3