Authors:
Agustín Olmedo
1
;
Gabriela Arévalo
2
;
Ignacio Cassol
1
;
Christelle Urtado
3
and
Sylvain Vauttier
3
Affiliations:
1
LIDTUA (CIC), Facultad de Ingeniería, Universidad Austral, Buenos Aires, Argentina
;
2
DCyT (UNQ), CAETI (UAI), CONICET, Buenos Aires, Argentina
;
3
EuroMov Digital Health in Motion, Univ. Montpellier & IMT Mines Ales, Ales, France
Keyword(s):
Distributed Version Control System, Distributed Software Development, Pull-based Development, Pull Request, Software Merging, Merge Conflicts.
Abstract:
Pull-based Development (PbD) is widely used in software teams to integrate incoming changes into a project codebase. In this model, contributions are advertised through Pull Request (PR) submissions. Project administrators are responsible for reviewing and integrating PRs. Prioritizing PRs is one of the main concerns of project administrators in their daily work. Indeed, conflicts occur when PRs are concurrently opened on a given target branch and propose different modifications for a same code part. We propose to consider the integration process efficiency (IPE) as the fact that for a given integration cost (i.e., number of conflicts to be solved) the highest gain is reached (i.e., the largest number of PRs are integrated). The goal of this work is to optimize the IPE through PR prioritization. We propose a process that provides a sequence of unconflicting PR groups. This sequence minimizes the number of conflict resolutions and defines an optimized integration order according to th
e efficiency of the integration process. We apply our proposal to seven representative historical integration sequences from an open source project. In all seven cases, the IPE obtained by our proposal is higher than the historical IPE from 28.73% to 156.52%.
(More)