Improving Integration Process Efficiency through Pull Request Prioritization

被引:4
作者
Olmedo, Agustin [1 ]
Arevalo, Gabriela [2 ]
Cassol, Ignacio [1 ]
Urtado, Christelle [3 ,4 ]
Vauttier, Sylvain [3 ,4 ]
机构
[1] Univ Austral, Fac Ingn, LIDTUA CIC, Buenos Aires, DF, Argentina
[2] Consejo Nacl Invest Cient & Tecn, DCyT UNQ, CAETI UAI, Buenos Aires, DF, Argentina
[3] Univ Montpellier, EuroMov Digital Hlth Mot, Ales, France
[4] IMT Mines Ales, Ales, France
来源
ENASE: PROCEEDINGS OF THE 17TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING | 2022年
关键词
Distributed Version Control System; Distributed Software Development; Pull-based Development; Pull Request; Software Merging; Merge Conflicts; RECOMMENDATION;
D O I
10.5220/0010992100003176
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 the 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%.
引用
收藏
页码:62 / 72
页数:11
相关论文
共 41 条
[1]  
[Anonymous], 2014, P 11 WORK C MIN SOFT
[2]   Pull Request Prioritization Algorithm based on Acceptance and Response Probability [J].
Azeem, Muhammad Ilyas ;
Peng, Qiang ;
Wang, Qing .
2020 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY, AND SECURITY (QRS 2020), 2020, :231-242
[3]   Action-based Recommendation in Pull-request Development [J].
Azeem, Muhammad Ilyas ;
Panichella, Sebastiano ;
Di Sorbo, Andrea ;
Serebrenik, Alexander ;
Wang, Qing .
2020 IEEE/ACM INTERNATIONAL CONFERENCE ON SOFTWARE AND SYSTEM PROCESSES, ICSSP, 2020, :115-124
[4]  
Beck K., 2004, EXTREME PROGRAMMING
[5]  
Bird Christian, 2012, P 20 ACM SIGSOFT INT
[6]   How Do Centralized and Distributed Version Control Systems Impact Software Changes? [J].
Brindescu, Caius ;
Codoban, Mihai ;
Shmarkatiuk, Sergii ;
Dig, Danny .
36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, :322-333
[7]  
Chacon S., 2014, PRO GIT
[8]   What Do Practitioners Vary in Using Scrum? [J].
Diebold, Philipp ;
Ostberg, Jan-Peter ;
Wagner, Stefan ;
Zendler, Ulrich .
AGILE PROCESSES, IN SOFTWARE ENGINEERING, AND EXTREME PROGRAMMING, XP 2015, 2015, 212 :40-51
[9]   Continuously mining distributed version control systems: an empirical study of how Linux uses Git [J].
German, Daniel M. ;
Adams, Bram ;
Hassan, Ahmed E. .
EMPIRICAL SOFTWARE ENGINEERING, 2016, 21 (01) :260-299
[10]  
Gousios G., 2014, P 11 WORK C MIN SOFT, P368, DOI DOI 10.1145/2597073.2597122