Mashari, Seyedbehnam (2022). Extraction and analysis of behavior practices based on GitLab MR information. Mémoire de maîtrise électronique, Montréal, École de technologie supérieure.
Prévisualisation |
PDF
Télécharger (8MB) | Prévisualisation |
Résumé
The constantly evolving nature of technology in software, IT, and telecommunication is no doubt associated with emerging challenges regarding the ability to deliver software faster and with higher quality. The adoption of DevOps by many companies, in different application domains, in the last decade has resulted in major progress regarding both aspects. However, to reach the objectives of DevOps, a systematic approach to the continuous improvement of the different phases of the software delivery process needs to be established.
This thesis focuses on the improvement of the code review phase of the process based on an industrial case study provided by Kaloom. The overall objective is to investigate different statistical and machine learning techniques that can be used to extract and analyze behavior practices from the data recorded by GitLab during the Merge Request (MR) peer-review phase. For this purpose, we focus on three main research questions: RQ1) How does the Lead Time of MRs change over the 21 days of a sprint, RQ2) What are the behavior practices of software engineers during the sprint days, and RQ3) What are exceptions and outliers in MR data. Our main findings include that there is no correlation between the Lead Time and Size of MRs in the studied groups, that the groups with hardware tests have higher average Lead Time, and that there is a very weak Spearman correlation between the Lead Time of an MR and the day on which an MR was created or closed. Furthermore, through manual analysis of exception MRs, we observed that some MRs are commented after the merge and that these MRs are often associated with errors discovered later during the different product testing phases.
Titre traduit
Extraction et analyse de modèles de comportement basés sur les informations GitLab MR
Résumé traduit
L’évolution constante de la technologie dans les logiciels, l'informatique et les télécommunications est sans aucun doute associée aux défis émergents concernant la capacité à fournir des logiciels plus rapidement et avec une meilleure qualité. L'adoption de DevOps par de nombreuses entreprises, dans différents domaines d'application, au cours de la dernière décennie a entraîné des progrès majeurs sur ces deux aspects. Cependant, pour atteindre les objectifs de DevOps, une approche systématique de l’amélioration continue des différentes phases du processus de livraison de logiciels doit être établie.
Cette thèse porte sur l'amélioration de la phase de revue de code du processus à partir d'un cas d'étude industriel fourni par Kaloom. L'objectif global est d'étudier différentes techniques statistiques et d'apprentissage automatique (« machine learning ») qui peuvent être utilisées pour extraire et analyser des modèles de comportement à partir des données enregistrées par GitLab pendant la phase d'examen par les pairs de la demande de fusion (Merge Request (MR)). À cette fin, nous nous concentrons sur trois questions de recherche principales : QR1) Comment le délai d'exécution des MR évolue-t-il au cours des 21 jours d'un sprint, QR2) Quels sont les comportements des ingénieurs logiciels pendant les jours de sprint, et QR3) Quels sont exceptions et valeurs aberrantes dans les données IRM. Nos principales conclusions incluent qu'il n'y a pas de corrélation entre le délai d'exécution et la taille des MR dans les groupes étudiés, que les groupes avec des tests matériels ont un délai d'exécution moyen plus élevé, et qu'il existe une très faible corrélation de Spearman entre le délai d'exécution d'un MR et le jour où un MR a été créé ou fermé. De plus, grâce à l'analyse manuelle des MR d'exception, nous avons observé que certains MR sont commentés après la fusion et que ces MR sont souvent associés à des erreurs découvertes ultérieurement lors des différentes phases de test des produits.
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 fulfillment of a master’s degree with thesis in software engineering". Comprend des références bibliographiques (pages 57-61). |
Mots-clés libres: | DevOps, revue de code, la demande de fusion, techniques statistiques, d'apprentissage automatique, les comportements |
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: | 11 août 2022 17:31 |
Dernière modification: | 11 août 2022 17:31 |
URI: | https://espace.etsmtl.ca/id/eprint/3035 |
Gestion Actions (Identification requise)
Dernière vérification avant le dépôt |