A Reproducibility Study on Merge Conflict Resolution Recommendation

Page content

Context

Merging of work in cooperating sofware development often results in merge conflicts. Human effort is currently needed to resolve such merge conflicts. Studying merge conflicts and how to automatically resolve (or prevent them) is an active research area.

Motivation

We are interested in automating merge conflict resolutions and improving the state of the art in this field, specifically of recommenders. If the student(s) are interested, the work of this seminar+thesis can be also published together at a conference or journal.

Goal

Reproduce and generalize a prior study (Towards accurate recommendations of merge conflicts resolution strategies) on merging. This study trained individual recommenders for 20 Java GitHub repositories that suggest resolutions for merge conflicts. To better understand this study and later build on it, you should

  1. Familiarize yourself somewhat with their code (mostly Python) and get it to run on a local machine.
  2. Try to generalize their findings: either train a single recommender (instead of one for each repository) or train new recommenders (new repositories, new languages).
  3. Add new attributes to their analysis pipeline, such as “how did other conflicts of this merge get resolved?” attribute.

Requirements

Python knowledge needed, knowledge in Java or SQL is useful. The student(s) are required to combine this work in a seminar and thesis.

Pointers

Towards accurate recommendations of merge conflicts resolution strategies Towards Semi-Automated Merge Conflict Resolution: Is It Easier Than We Expected?

Contact

Alexander Boll, alexander.boll@unibe.ch