{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,28]],"date-time":"2025-09-28T04:14:07Z","timestamp":1759032847220,"version":"3.41.0"},"reference-count":47,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2021,12,24]],"date-time":"2021-12-24T00:00:00Z","timestamp":1640304000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2022,4,30]]},"abstract":"<jats:p>\n            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\n            <jats:italic>Extent of Overlap<\/jats:italic>\n            between pull requests, and the identification of\n            <jats:italic>Rarely Concurrently Edited Files<\/jats:italic>\n            . 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.\n          <\/jats:p>","DOI":"10.1145\/3478019","type":"journal-article","created":{"date-parts":[[2021,12,24]],"date-time":"2021-12-24T14:22:36Z","timestamp":1640355756000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["ConE: A Concurrent Edit Detection Tool for Large-scale Software Development"],"prefix":"10.1145","volume":"31","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9432-1045","authenticated-orcid":false,"given":"Chandra","family":"Maddila","sequence":"first","affiliation":[{"name":"Microsoft Research, Redmond, WA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nachiappan","family":"Nagappan","sequence":"additional","affiliation":[{"name":"Microsoft Research, Redmond, WA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Christian","family":"Bird","sequence":"additional","affiliation":[{"name":"Microsoft Research, Redmond, WA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Georgios","family":"Gousios","sequence":"additional","affiliation":[{"name":"Facebook, CA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Arie","family":"van Deursen","sequence":"additional","affiliation":[{"name":"Delft University of Technology, Delft, The Netherlands"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2021,12,24]]},"reference":[{"key":"e_1_3_1_2_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-017-9586-1"},{"key":"e_1_3_1_3_2","doi-asserted-by":"publisher","DOI":"10.1109\/ESEM.2017.12"},{"key":"e_1_3_1_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2019.8667990"},{"key":"e_1_3_1_5_2","unstructured":"Azure Batch Accessed 2020. Azure Batch. Retrieved from https:\/\/azure.microsoft.com\/en-us\/services\/batch\/."},{"key":"e_1_3_1_6_2","unstructured":"Retrieved from https:\/\/azure.microsoft.com\/en-us\/services\/devops\/?nav=min 2020 Azure DevOps"},{"key":"e_1_3_1_7_2","doi-asserted-by":"publisher","DOI":"10.5555\/579212"},{"key":"e_1_3_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/1240624.1240823"},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2009.5069475"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/2393596.2393648"},{"key":"e_1_3_1_11_2","article-title":"An empirical investigation into merge conflicts and their effect on software quality","volume":"25","author":"Brindescu Caius","year":"2019","unstructured":"Caius Brindescu, Iftekhar Ahmed, Carlos Jensen, and Anita Sarma. 2019. An empirical investigation into merge conflicts and their effect on software quality. Empir. Softw. Eng. 25 (Sep. 2019). https:\/\/doi.org\/10.1007\/s10664-019-09735-4","journal-title":"Empir. Softw. Eng."},{"key":"e_1_3_1_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380344"},{"key":"e_1_3_1_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025139"},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025139"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025139"},{"key":"e_1_3_1_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2013.28"},{"key":"e_1_3_1_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/1180875.1180929"},{"key":"e_1_3_1_18_2","doi-asserted-by":"publisher","DOI":"10.1142\/S0218194014400166"},{"key":"e_1_3_1_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950339"},{"key":"e_1_3_1_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/958160.958177"},{"key":"e_1_3_1_21_2","doi-asserted-by":"publisher","DOI":"10.1145\/958160.958177"},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2020.106256"},{"key":"e_1_3_1_23_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICGSE.2014.17"},{"key":"e_1_3_1_24_2","article-title":"Semantic Conflict","author":"Fowler Martin","year":"2020","unstructured":"Martin Fowler. Accessed 2020. Semantic Conflict. Retrieved from https:\/\/martinfowler.com\/bliki\/SemanticConflict.html.","journal-title":"Retrieved from https:\/\/martinfowler.com\/bliki\/SemanticConflict.html"},{"key":"e_1_3_1_25_2","unstructured":"GitHub Accessed 2020. GitHub. Retrieved from https:\/\/github.com\/about."},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568260"},{"key":"e_1_3_1_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/224019.224036"},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.5555\/2337223.2337264"},{"key":"e_1_3_1_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/2675133.2675177"},{"key":"e_1_3_1_30_2","doi-asserted-by":"publisher","DOI":"10.1145\/65979.65980"},{"key":"e_1_3_1_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/2597073.2597074"},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.5555\/2486788.2486884"},{"key":"e_1_3_1_33_2","doi-asserted-by":"publisher","DOI":"10.5555\/2486788.2486884"},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2006.23"},{"key":"e_1_3_1_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2013.6613849"},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/3289600.3291003"},{"key":"e_1_3_1_37_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2017.53"},{"key":"e_1_3_1_38_2","unstructured":"Retrieved from https:\/\/news.microsoft.com\/facts-about-microsoft\/#Employment Info 2020 Microsoft Facts"},{"key":"e_1_3_1_39_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-018-9674-x"},{"key":"e_1_3_1_40_2","doi-asserted-by":"publisher","DOI":"10.4108\/icst.collaboratecom.2012.250435"},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/ESEM.2019.8870173"},{"key":"e_1_3_1_42_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1975.6312866"},{"key":"e_1_3_1_43_2","doi-asserted-by":"publisher","DOI":"10.5555\/776816.776870"},{"key":"e_1_3_1_44_2","doi-asserted-by":"publisher","DOI":"10.1145\/2043932.2043957"},{"key":"e_1_3_1_45_2","doi-asserted-by":"publisher","DOI":"10.1145\/3345629.3345635"},{"key":"e_1_3_1_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/1390817.1390826"},{"key":"e_1_3_1_47_2","volume-title":"Software Engineering at Google: Lessons Learned from Programming Over Time","author":"Winters Titus","year":"2020","unstructured":"Titus Winters, Tom Manshreck, and Hyrum Wright. 2020. Software Engineering at Google: Lessons Learned from Programming Over Time. O\u2019Reilly Media."},{"key":"e_1_3_1_48_2","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2012.55"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3478019","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3478019","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:31:32Z","timestamp":1750188692000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3478019"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,12,24]]},"references-count":47,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2022,4,30]]}},"alternative-id":["10.1145\/3478019"],"URL":"https:\/\/doi.org\/10.1145\/3478019","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"type":"print","value":"1049-331X"},{"type":"electronic","value":"1557-7392"}],"subject":[],"published":{"date-parts":[[2021,12,24]]},"assertion":[{"value":"2021-01-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-12-24","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}