  Developers from different teams or organizations, co-located or distributed,
making changes to the same source code files or areas, through pull requests
that are active in the same time period, is an essential part of developing
complex software systems. With such a dynamically changing environment spanning
several boundaries, geographic and organizational, there is little awareness
about the changes that are flowing in through other active pull requests in the
system leading to complex merge conflicts, hard-to-detect logical bugs or
duplication of work and wasted developer productivity. In order to address this
problem, we studied changes produced in eight very large repositories, in
Microsoft to understand the extent of concurrent edits and their relation to
subsequent bugs and bug fixes. Motivated by our findings, we developed a system
called ConE (Concurrent Edit Detector) that proactively detects concurrent
edits to help mitigate the problems caused by them. We present the results of
ConE's deployment through early intervention techniques such as pull request
notifications, by which ConE facilitates better communication among all the
stakeholders participating in collaborative software development, helping avoid
future problems.
