Legault, Julien (2022). An empirical investigation on the prevalence, impact, and manifestation of rework commits in the merge requests mechanism. Mémoire de maîtrise électronique, Montréal, École de technologie supérieure.
Prévisualisation |
PDF
Télécharger (6MB) | Prévisualisation |
Résumé
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.
Titre traduit
Une étude empirique sur la prévalence, les impacts et les manifestations des rework commits dans le mécanisme de demandes de fusion
Résumé traduit
La motivation principale du DevOps est d’offrir de la valeur en continu aux clients. Un des bénéfices de cette approche pour Kaloom, notre partenaire industriel, est d’accélérer le flux de développement en réduisant le temps d’attente des diverses phases du processus de livraison du logiciel. Pour permettre l’amélioration continue, nous nous sommes concentrés sur la détection de bogues le plus tôt possible dans la chaine CI/CD pour améliorer le flux DevOps.
Le but de cette recherche était d’améliorer le processus de revue de code. Pour accomplir ce but, nous avons observé le processus de notre partenaire industriel en étudiant les rework commits des demandes de fusion (MR). Les questions de recherche abordées sont les suivantes : RQ1.: Quel est la distribution des rework commits chez Kaloom ? RQ2.: Comment les métriques reliées à l’effort changent t’elles avec le nombre de rework commits ? RQ3.: Comment la variation du nombre de fichiers associés à un MR influence t’elle le nombre de rework commits ?
Nos résultats montrent que le nombre de MR avec plusieurs reworks continue d’augmenter et nous suggérons de développer des approches pour réduire les reworks et faciliter le processus d’intégration de code. Les reworks peuvent avoir un impact significatif sur le temps d’attente et peuvent parfois être attribués à des fichiers manquants ou à la façon d’utiliser GitLab. Pour les MR avec plus de huit reworks, une médiane de cinq fichiers manquants a été trouvée, suggérant le besoin de mieux identifier les dépendances interfichiers avant d’ouvrir un MR.
Type de document: | Mémoire ou thèse (Mémoire de maîtrise électronique) |
---|---|
Renseignements supplémentaires: | "Thesis presented to École de technologie supérieure in partial fulfillement for a master’s degree with thesis in software engineering". Comprend des références bibliographiques (pages 59-60). |
Mots-clés libres: | rework commit, code rework, DevOps, demande de fusion |
Directeur de mémoire/thèse: | Directeur de mémoire/thèse Bordeleau, Francis |
Codirecteur: | Codirecteur Sayagh, Mohammed |
Programme: | Maîtrise en ingénierie > Génie |
Date de dépôt: | 03 févr. 2023 19:44 |
Dernière modification: | 03 févr. 2023 19:44 |
URI: | https://espace.etsmtl.ca/id/eprint/3148 |
Gestion Actions (Identification requise)
Dernière vérification avant le dépôt |