kirancodes.me
To Proof Maintenance & Beyond!

Program merge conflict resolution via neural transformers

Alexey Svyatkovskiy, Sarah Fakhoury, Negar Ghorbani, Todd Mytkowicz, Elizabeth Dinella, Christian Bird, Jinu Jang, Neel Sundaresan, Shuvendu K. Lahiri

Abstract

Collaborative software development is an integral part of the modern software development life cycle, essential to the success of large-scale software projects. When multiple developers make concurrent changes around the same lines of code, a merge conflict may occur. Such conflicts stall pull requests and continuous integration pipelines for hours to several days, seriously hurting developer productivity. To address this problem, we introduce MergeBERT, a novel neural program merge framework based on token-level three-way differencing and a transformer encoder model. By exploiting the restricted nature of merge conflict resolutions, we reformulate the task of generating the resolution sequence as a classification task over a set of primitive merge patterns extracted from real-world merge commit data. Our model achieves 63–68% accuracy for merge resolution synthesis, yielding nearly a 3× performance improvement over existing semi-structured, and 2× improvement over neural program merge tools. Finally, we demonstrate that MergeBERT is sufficiently flexible to work with source code files in Java, JavaScript, TypeScript, and C# programming languages. To measure the practical use of MergeBERT, we conduct a user study to evaluate MergeBERT suggestions with 25 developers from large OSS projects on 122 real-world conflicts they encountered. Results suggest that in practice, MergeBERT resolutions would be accepted at a higher rate than estimated by automatic metrics for precision and accuracy. Additionally, we use participant feedback to identify future avenues for improvement of MergeBERT.

BibTeX
@inproceedings{Svyatkovskiy-al:FSE22,
  author    = {Alexey Svyatkovskiy and
               Sarah Fakhoury and
               Negar Ghorbani and
               Todd Mytkowicz and
               Elizabeth Dinella and
               Christian Bird and
               Jinu Jang and
               Neel Sundaresan and
               Shuvendu K. Lahiri},
  title     = {Program merge conflict resolution via neural transformers},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {822--833},
  publisher = {{ACM}},
  year      = {2022},
}

Related papers