Il faut de bonnes stratégies pour détecter les erreurs quand il s'agit de contenus aussi abstraits. | Photo: iStockphoto

Les nouvelles lignes de code ajoutées aux logiciels doivent être contrôlées. La procédure, appelée «revue de code» (ou «code review»), requiert un effort intellectuel, du temps et coûte cher. Effectuer ce travail exige en effet de s’orienter dans plusieurs centaines de lignes de code source. Une étude de l’Université de Zurich montre que des listes de contrôle peuvent rendre cette recherche plus efficace.

«Dans la recherche pour le développement de logiciels, les check-lists sont considérées comme une possibilité de réduire la charge cognitive pendant la revue de code», explique Pavlína Wurzel Gonçalves, psychologue du travail. «Jusqu’à présent, cela n’avait pas été scientifiquement démontré.» La charge cognitive décrit à quel point notre mémoire de travail est sollicitée à un moment donné. Elle est liée à la complexité de la tâche, au savoir-faire ainsi qu’à la présentation des informations. Lorsque la capacité maximale de la mémoire de travail est dépassée, la qualité de la vérification du code diminue.

«Dans le cas d’une tâche complexe, la liste de contrôle guidée n’améliore cependant pas l’efficacité car elle limite le mode opératoire individuel,»Pavlína Wurzel Gonçalves

L’étude de Pavlína Wurzel Gonçalves a examiné comment la charge cognitive pouvait être allégée par des outils d’assistance. Pour ce faire, les 70 participantes et participants chargés de réviser des codes simples et complexes ont reçu une check-list assortie d’une marche à suivre, d’une check-list simple ou de pas de liste du tout. Les scientifiques ont constaté que les personnes inexpérimentées trouvaient plus d’erreurs dans un code simple lorsqu’elles pouvaient se baser sur une liste systématique qui les guidait pas à pas sur ce qui devait être vérifié, où et quand. «Dans le cas d’une tâche complexe, la liste de contrôle guidée n’améliore cependant pas l’efficacité car elle limite le mode opératoire individuel, note Pavlína Wurzel Gonçalves. Si la personne peut naviguer elle-même dans le code, le résultat de la revue de modifications complexes est meilleur.»

Comme les participantes et participants étaient inexpérimentés en matière de révision de code, d’autres études doivent maintenant clarifier quels outils peuvent alléger la tâche de révision de code. Une chose est sûre: il n’existe pas d’outil pour tous les cas, car «l’outil varie selon la complexité du code», note la chercheuse.

P. Wurzel Gonçalves et al.: Do explicit review strategies improve code review performance? Towards understanding the role of cognitive load. Empirical Software Engineering (2022)