TIPMerge: recommending experts for integrating changes across branches

Catarina Costa, Jair Figueiredo, Leonardo Murta, Anita Sarma
2016 Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering - FSE 2016  
Parallel development in branches is a common software practice. However, past work has found that integration of changes across branches is not easy, and often leads to failures. Thus far, there has been little work to recommend developers who have the right expertise to perform a branch integration. We propose TIPMerge, a novel tool that recommends developers who are best suited to perform merges, by taking into consideration developers' past experience in the project, their changes in the
more » ... changes in the branches, and dependencies among modified files in the branches. We evaluated TIPMerge on 28 projects, which included up to 15,584 merges with at least two developers, and potentially conflicting changes. On average, 85% of the top-3 recommendations by TIPMerge correctly included the developer who performed the merge. Best (accuracy) results of recommendations were at 98%. Our interviews with developers of two projects reveal that in cases where the TIPMerge recommendation did not match the actual merge developer, the recommended developer had the expertise to perform the merge, or was involved in a collaborative merge session. CCS Concepts Software and its engineering → Software configuration management and version control systems.
doi:10.1145/2950290.2950339 dblp:conf/sigsoft/CostaFMS16 fatcat:ehctdcahpnc5xewtjjffgpl3ry