- Publié le
Prédire les évaluations d'experts dans les revues de code logiciel

Cet article explore l'utilisation d'un modèle algorithmique pour prédire les évaluations d'experts sur les commits de code logiciel, en se concentrant sur des aspects souvent négligés lors des revues de code manuelles en raison de contraintes de temps. La recherche vise à compléter, et non à remplacer, la revue humaine en fournissant des insights automatisés sur des aspects tels que le temps de codage, le temps d'implémentation et la complexité du code.
Introduction
La recherche vise à compléter, et non à remplacer, la revue humaine en fournissant des insights automatisés sur des aspects tels que le temps de codage, le temps d'implémentation et la complexité du code.
Méthodologie
Un modèle de forêt aléatoire a été entraîné sur des évaluations de dix experts Java portant sur 70 commits de code, couvrant des aspects tels que la structure du code, les métriques de qualité, les détails d'implémentation et les éléments architecturaux. Le modèle utilise une analyse statique du code liée aux commits Git.
Résultats
Le modèle a démontré de fortes corrélations avec le jugement humain, en particulier pour le temps de codage (r=0.82) et le temps d'implémentation (r=0.86). Cela suggère un potentiel pour une estimation automatisée et précise de l'effort. Bien qu'efficace pour les métriques basées sur le temps, la performance du modèle était moins robuste pour les qualités subjectives comme la maintenabilité du code et l'expérience de l'auteur, soulignant la difficulté d'automatiser ces évaluations nuancées. Cela était probablement influencé par un accord inter-évaluateurs plus faible sur ces aspects subjectifs.
Discussion
L'efficacité du modèle (temps de traitement inférieur à une seconde par commit) offre des économies de temps significatives par rapport aux revues manuelles, permettant aux réviseurs humains de se concentrer sur des aspects de plus haut niveau.
Conclusion
Cette recherche indique que les modèles algorithmiques peuvent compléter efficacement les revues de code manuelles en fournissant des évaluations rapides et objectives de certaines caractéristiques du code, en particulier celles liées à l'effort de développement. Cette approche permet aux réviseurs humains de se concentrer sur des aspects plus complexes et subjectifs de la qualité du code, conduisant finalement à un processus de revue plus efficace et complet. Des recherches supplémentaires sont nécessaires pour améliorer la gestion des qualités subjectives par le modèle et étendre son applicabilité à d'autres langages de programmation.
Source(s) :
Vous avez apprécié cet article ? Vous l'avez trouvé utile ? N'hésitez pas à laisser un commentaire ci-dessous pour partager vos réflexions ou poser des questions. Un compte GitHub est requis pour participer à la discussion.