DeepAI
Log In Sign Up

ConE: A Concurrent Edit Detection Tool for Large ScaleSoftware Development

01/16/2021
by   Chandra Maddila, et al.
0

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 ConE (Concurrent Edit Detector) 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 believed ConE would save time in conflict resolution and avoiding duplicate work, and that over 90

READ FULL TEXT
08/31/2021

MergeBERT: Program Merge Conflict Resolution via Neural Transformers

Collaborative software development is an integral part of the modern sof...
11/30/2018

Structured Information Retrieval Strategies for Localising Software Changes

During software maintenance and evolution, developers need to deal with ...
04/19/2021

Demystifying Regular Expression Bugs: A comprehensive study on regular expression bug causes, fixes, and testing

Regular expressions cause string-related bugs and open security vulnerab...
07/14/2019

Predicting Merge Conflicts in Collaborative Software Development

Background. During collaborative software development, developers often ...
05/19/2022

Which bugs are missed in code reviews: An empirical study on SmartSHARK dataset

In pull-based development systems, code reviews and pull request comment...
02/11/2021

Using Machine Intelligence to Prioritise Code Review Requests

Modern Code Review (MCR) is the process of reviewing new code changes th...
12/18/2020

Neural Network Embeddings for Test Case Prioritization

In modern software engineering, Continuous Integration (CI) has become a...