paper-with-me

Papers

Predicting Merge Conflicts in Collaborative Software Development

2019-07-14 · Moein Owhadi-Kareshk, Sarah Nadi, Julia Rubin

Background. During collaborative software development, developers often use branches to add features or fix bugs. When merging changes from two branches, conflicts may occur if the changes are inconsistent. Developers need to resolve these conflicts before completing the merge, which is an error-prone and time-consuming process. Early detection of merge conflicts, which warns developers about resolving conflicts before they become large and complicated, is among the ways of dealing with this problem. Existing techniques do this by continuously pulling and merging all combinations of branches in the background to notify developers as soon as a conflict occurs, which is a computationally expensive process. One potential way for reducing this cost is to use a machine-learning based conflict predictor that filters out the merge scenarios that are not likely to have conflicts, ie safe merge scenarios. Aims. In this paper, we assess if conflict prediction is feasible. Method. We design a classifier for predicting merge conflicts, based on 9 light-weight Git feature sets. To evaluate our predictor, we perform a large-scale study on 267, 657 merge scenarios from 744 GitHub repositories in seven programming languages. Results. Our results show that we achieve high f1-scores, varying from 0.95 to 0.97 for different programming languages, when predicting safe merge scenarios. The f1-score is between 0.57 and 0.68 for the conflicting merge scenarios. Conclusions. Predicting merge conflicts is feasible in practice, especially in the context of predicting safe merge scenarios as a pre-filtering step for speculative merging.

📄 PDF Abstract BibTeX arXiv:1907.06274

Code (1)

ualberta-smr/conflict-prediction 공식 구현

Similar Papers 제목 키워드 기반

AgenticFlict: A Large-Scale Dataset of Merge Conflicts in AI Coding Agent Pull Requests on GitHub

2026-04-04 · Daniel Ogenrwot, John Businge arxiv

Software Engineering 3.0 marks a paradigm shift in software development, in which AI coding agents are no longer just assistive tools but active contributors. While prior empirical studies have examined productivity gain…

Program Merge Conflict Resolution via Neural Transformers

2021-08-31 · Alexey Svyatkovskiy, Sarah Fakhoury, Negar Ghorbani, Todd Mytkowicz 외

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…

AgileCoder: Dynamic Collaborative Agents for Software Development based on Agile Methodology

2024-06-16 · Minh Huynh Nguyen, Thang Phan Chau, Phong X. Nguyen, Nghi D. Q. Bui

Software agents have emerged as promising tools for addressing complex software engineering tasks. Existing works, on the other hand, frequently oversimplify software development workflows, despite the fact that such wor…

Code Generation

Enabling Collaborative Data Science Development with the Ballet Framework

2020-12-14 · Micah J. Smith, Jürgen Cito, Kelvin Lu, Kalyan Veeramachaneni

While the open-source software development model has led to successful large-scale collaborations in building software systems, data science projects are frequently developed by individuals or small teams. We describe ch…

Feature Engineering

Towards Human-Bot Collaborative Software Architecting with ChatGPT

2023-02-26 · Aakash Ahmad, Muhammad Waseem, Peng Liang, Mahdi Fehmideh 외

Architecting software-intensive systems can be a complex process. It deals with the daunting tasks of unifying stakeholders' perspectives, designers' intellect, tool-based automation, pattern-driven reuse, and so on, to …