Automatic prediction of developers’ resolutions for software merge conflicts

Journal of Systems and Software(2023)

引用 1|浏览5
暂无评分
摘要
In collaborative software development, developers simultaneously work in parallel on different branches that they merge periodically. When edits from different branches textually overlap, conflicts may occur. Manually resolving conflicts can be tedious and error-prone. Researchers proposed tool support for conflict resolution, but these tools barely consider developers’ preferences. Conflicts can be resolved by: keeping the local version only KL, keeping the remote version only (KR), or manually editing them (ME). Recent studies show that developers resolved the majority of textual conflicts by KL or KR. Thus, we created a machine learning-based approach RPredictor to predict developers’ resolution strategy (KL, KR, or ME) given a merge conflict. We did large-scale experiments on the historical resolution of 74,861 conflicts. Our experiments show that RPredictor achieved 63% F-score for within-project prediction and 46% F-score for cross-project prediction. Compared with other classifiers, RPredictor provides the highest effectiveness when using a random forest (RF) classifier. Finally, we proposed a variant technique RPredictor v, which enables developers to customize its prediction conservativeness. For a highly conservative setting, RPredictor v achieved 34% effort saving while minimizing the risk of producing incorrect prediction labels.
更多
查看译文
关键词
Software merge,Textual conflicts,Conflict resolution,Prediction
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要