Microsoft pose des capteurs sur ses développeurs pour détecter les bugs

Microsoft-EEGUn chercheur de Microsoft Research a placé 15 développeurs sous encéphalogramme, eye-tracker et détecteur électrodermal. Bardé de cette batterie de capteurs, il les a invité à analyser quelques problèmes de programmation et observé leurs réactions. L’objectif de l’étude est de détecter les moments où le développeur fait face à une difficulté et donc est susceptible de commettre des erreurs. Objectif : Debugger le code au moment même où le développeur est en train de l’écrire.

Comment évaluer le niveau de stress du développeur

« And how does that make you fell », tel était le titre de la présentation réalisée par Andrew Begel, chercheur senior chez Microsoft Research, Erin Solovey, professeur assistant à l’université de Drexel et Mary Czerwinski, responsable de recherche chez Microsoft Research lors du Faculty Summit qui s’est tenu en juillet dernier sur le campus Microsoft. Il s’agit de la conférence annuelle ou les chercheurs Microsoft présentent leurs travaux de recherche communs avec le secteur académique.

Le principe de la collecte des données sur le développeur.

Le principe de la collecte des données sur le développeur.

Tous trois ont présenté leurs recherches liées à la mesure du stress dans différents domaines. Andrew Begel s’est intéressé au stress des développeurs. Son but est d’étudier la corrélation possible entre leur état émotionnel et leur perception de la difficulté d’une tâche, éventuellement prédire si un code va être entaché de bugs parce que le développeur à vu son stress augmenter devant une portion de code.

Le chercheur a sélectionné 15 programmeurs C# (dont une femme) avec 8 problèmes informatiques à résoudre. Nos développeurs ont été équipés d’un EEG Neurosky Mindband, d’un capteur électrodermal et un eye-tracker placé face à eux suivant leur regard sur l’écran, mais mesurait aussi la taille de leurs pupilles. Théoriquement, lorsqu’on rencontre une difficulté, notre pupille se dilate de quelques dixièmes de millimètres. Le capteur électrodermal (ou EDA) détecte la sueur. Celle-ci apparait lors de l’effort, mais traduit aussi le niveau de stress.

L'un des petits problèmes auxquels ont été soumis les programmeurs de l'expérimentation.

L’un des petits problèmes auxquels ont été soumis les programmeurs de l’expérimentation.

En parallèle, les développeurs ont répondu au questionnaire NASA TLX, questionnaire standard du secteur aéronautique visant à mesurer la charge de travail d’un pilote, par exemple.

Le chercheur a ensuite développé 3 algorithmes de type Machine Learning  pour analyser ses données, travaillant sur les informations produites par un, deux ou les trois capteurs ou diverses combinaisons. En moyenne, la précision des algorithmes prédictifs était de l’ordre de 65%, les données de l’eye-tracker étant les plus précieuses, avec les résultats les plus probant lorsqu’on couple l’eye-tracker au capteur EDA.

Le niveau de stress effectivement corrélé avec la difficulté à écrire le code

L’étude d’Andew Begel a montré que l’analyse des données issues des capteurs étaient corrélées avec les informations du questionnaire NASA TLX. On peut effectivement estimer la difficulté du travail délivré via des capteurs.

Les premiers résultats de l'expérience Microsoft Research montrent une fiabilité de l'ordre de 65%.

Les premiers résultats de l’expérience Microsoft Research montrent une fiabilité de l’ordre de 65%.

Le chercheur expérimente aussi un clavier qui analyse la frappe de l’utilisateur ou encore une souris qui analyse la main posée sur elle. Les gens appuient plus avec leur paume sur la souris lorsqu’ils sont stressés. C’est peut-être en utilisant toute ces batteries de capteurs qu’un Visual Studio signalera un jour au développeur qu’il est sur le point d’insérer un bug dans son code.

Le but de l’étude est triple. Si on parvient à détecter qu’un développeur est dans un moment difficile dans l’écriture de son code, alors peut-être pourrait-on empêcher toute interruption de son travail a ce moment précis. Peut-être que ce pourrait être le signal pour refactoriser la partie de code qui fait chuter la productivité des développeurs.

Source :

Présentation « And how does that make you feel? », Faculty Summit 2014 On Demand , 15 juillet 2014

Commentaires Facebook
Twitter Facebook Plusone Pinterest Linkedin
Ce contenu a été publié dans Développement, avec comme mot(s)-clé(s) , . Vous pouvez le mettre en favoris avec ce permalien.