Mémoire de maîtrise (2024)
Résumé
Le modèle de développement basé sur des pull requests (demandes de tirage), un pilier de la collaboration en ingénierie logicielle moderne, permet d’initier le processus de revue de code lorsqu’un contributeur soumet des demandes de tirage pour évaluation. Bien que la décision d’approuver ou de rejeter les demandes de tirage soit souvent considérée comme fondée sur la qualité technique, des précédentes recherches révèlent un portrait plus complexe où des facteurs non techniques jouent également un rôle significatif sur le choix d’une approbation. Le présent projet de recherche vise à évaluer empiriquement comment les facteurs non techniques influencent la cognition et le comportement des développeurs lors de la revue de codes, en tenant compte de biais potentiels affectaent leurs actions et leurs réalisations. En s’inspirant de la psychologie de la conformité, nous sélectionnons et combinons des indices d’urgence (indiqués par le niveau de priorité des codes) et de réputation (indiqués par le niveau d’expérience de l’auteur) pour explorer les impacts de ces facteurs non techniques. Nous utilisons la technologie de suivi oculaire, une approche novatrice dans un tel contexte, pour nous éclairer sur les processus cognitifs sous-jacents à l’évaluation des demandes de tirage. Dans une étude expérimentale contrôlée impliquant 37 participants révisant des demandes de tirage de codes Java, nous constatons que le niveau de priorité d’une pull request (PR) influence à la fois le temps passé sur les tâches et la charge cognitive associée. De plus, bien que leurs comportements soient influencés par le niveau de priorité et d’expérience de l’auteur, les participants restent largement inconscients de cette influence sur leur prise de décision, soulignant ainsi l’importance critique de mieux comprendre l’impact des biais implicites dans la revue des codes. Aussi, nous pouvons constater une variation observable du niveau d’attention du participant entre la révision de la contribution fournie par des auteurs débutants et celle fournie par des auteurs expérimentés. Cependant, il est intéressant de noter qu’aucune différence notable n’a été observée quant aux résultats d’approbation en fonction de l’expérience de l’auteur. En nous appuyant sur ces connaissances, nous utilisons des algorithmes d’apprentissage automatique pour prédire l’approbation des demandes de tirage. Nous prenons en compte des caractéristiques telles que les mesures de suivi oculaire, l’exactitude des correctifs, le niveau de difficulté des tâches, le niveau de priorité et l’expérience de l’auteur. Le meilleur modèle, soit celui de la régression logistique, atteint une précision de 84 % en utilisant les mesures de suivi oculaire et l’exactitude des correctifs. L’analyse de l’importance des différentes variables met en évidence que l’exactitude des correctifs et le niveau de difficulté des tâches sont les plus significatives aux fins de prévisions. La présente étude permet une meilleure compréhension des facteurs non techniques influençant l’ingénierie logicielle et elle pourrait contribuer aux recherches à venir sur les plateformes de revue de codes et leurs directives, ainsi que sur la réutilisation de codes, et l’automatisation de la revue de codes.
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
