Mémoire de maîtrise (2024)
|
|
Accès restreint: Personnel autorisé jusqu'au 5 mars 2026 Conditions d'utilisation: Tous droits réservés |
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.
Abstract
The pull-based development model, a cornerstone of collaboration in modern software engineering (SE), initiates the code review process when a contributor submits pull requests (PRs) for evaluation. While the decision to approve or decline PRs is often seen as grounded in technical quality, prior research reveals a more complex narrative where non-technical factors also play a significant role in influencing acceptance. This research project aims to empirically assess how non-technical factors influence developers’ cognition and behavior during code review, including potential biases that affect their actions and outcomes. Drawing from the psychology of compliance, we select and combine cues of urgency (indicated by code priority level) and reputation (indicated by the author’s experience level) to explore the impacts of these non-technical factors. We leverage eye-tracking technology—a novel approach in this context—to shed light on the cognitive processes underlying the evaluation of PRs. In an experimentally controlled study involving 37 participants reviewing Java code PRs, we find that the perceived priority level of a PR impacts both the time spent on tasks and the associated cognitive load. Moreover, while participants’ behaviors reflect the influence of the priority level and the author’s experience, they remain largely unaware of these effects on their decision-making, underscoring the critical importance of understanding these implicit biases in code reviews. Interestingly, despite variations in attention when reviewing contributions from novice versus senior authors, there was no discernible difference in acceptance outcomes based on the author’s experience. Building on these insights, we utilize machine learning algorithms to predict PR acceptance. We consider features such as eye-gaze metrics, correctness of patches, task difficulty, priority level, and author’s experience. The best model, logistic regression, achieves an accuracy of 84% using eye-gaze metrics and correctness. Feature importance analysis highlights that the correctness of the patch and task difficulty are the most significant predictors. This study advances our understanding of non-technical factors in SE and may inform future research on code review platforms and guidelines, code reuse, and automated code generation.
| Département: | Département de génie informatique et génie logiciel |
|---|---|
| Programme: | Génie informatique |
| Directeurs ou directrices: |
Zohreh Sharafi |
| URL de PolyPublie: | https://publications.polymtl.ca/59034/ |
| Université/École: | Polytechnique Montréal |
| Date du dépôt: | 05 mars 2025 14:27 |
| Dernière modification: | 08 avr. 2025 11:07 |
| Citer en APA 7: | Yabesi, S. (2024). Exploring the Effects of Urgency and Reputation in Code Review An Eye-Tracking and Machine Learning Approach [Mémoire de maîtrise, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/59034/ |
|---|---|
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
