Skip to main navigation Skip to search Skip to main content

An empirical investigation on the prevalence, impact, and manifestation of rework commits in the merge requests mechanism

  • Julien Legault

Student thesis: Master's thesisMaster in Engineering: Engineering

Abstract

The overall driving motivation behind DevOps is to continuously provide value to customers. One benefit of DevOps that is of particular interest to our industrial partner, is accelerating the flow of development through the reduction of the lead time of various phases of the software delivery process. To keep the continuous improvement process going, we needed to focus on means of improving the DevOps flow, such as improving detection of bugs as soon as possible in the review process. The goal of this research is to help improve the review process. To accomplish this goal, we provided a first overview of the code review process of our industrial partner by looking at rework commits in the submitted merge requests (MR) to detect possible issues earlier in their CI/CD pipeline. The emerging research questions are studied for this purpose: RQ1.: What is the distribution of rework commits across MR at Kaloom? RQ2.: How does effort related metrics change with the number of rework commits? RQ3.: How does the variation in the number of files associated with an MR affect the number of rework commits? Our findings shows that the number of MR with multiple reworks is continuously increasing, and we suggest the need for approaches to reduce rework for a smooth integration process. Rework can have a significant impact on the MR lead time and can sometimes be attributed to missing file dependencies or way of working with GitLab. For MR with more than eight rework commits, a median of 5 missing files was found, suggesting the need for better identifying missing dependencies before opening merge requests.
Date20 Dec 2022
Original languageAmerican English
Awarding Institution
  • École de technologie supérieure
SupervisorFrancis Bordeleau (Supervisor) & Mohammed Sayagh (Co-supervisor)

Cite this

'