Comment identifier et résoudre des problèmes de qualité de code avant même qu'ils se présentent ?
Des chercheurs suggèrent une méthode biométrique

Le , par Michael Guilloux

0PARTAGES

8  0 
La revue de code, consistant à examiner le code source d’un logiciel, devient de plus en plus une étape à part entière dans tout processus de développement logiciel. Elle peut s’appuyer sur la vérification (manuelle ou automatisée) du respect d'un ensemble de règles de programmation, mais l'objectif est de trouver des bogues ou des vulnérabilités potentielles ou de corriger des erreurs de conception afin d'améliorer la qualité, la maintenabilité et la sécurité du logiciel. S’il existe un large éventail d'outils et de recherches qui se concentrent sur l'identification des problèmes de qualité de code, des chercheurs font remarquer que la plupart de ces approches permettent seulement une évaluation post-hoc.

Comment donc identifier et résoudre des problèmes de qualité de code avant même qu’ils ne se présentent ? L’intérêt est que cela éviterait - après développement ou des changements dans un code - de chercher et de fixer les problèmes de qualité. Par conséquent, on pourrait avoir une réduction considérable des coûts de développement et d’évolution des logiciels.

D’après des chercheurs suisses de l’université de Zurich, cela serait possible en utilisant les données biométriques des développeurs, pendant qu’ils travaillent sur des parties de code. À l’aide de capteurs, les chercheurs ont pu recueillir les données biométriques telles que la variabilité de la fréquence cardiaque au cours d’une première étude réalisée pendant deux semaines sur dix développeurs professionnels, alors que ces derniers travaillaient sur des parties de code.

D’après les chercheurs, les résultats suggèrent, entre autres, « que les données biométriques des développeurs peuvent être utilisées pour déterminer la difficulté perçue des éléments de code et en outre identifier les endroits dans le code qui finissent avec des problèmes de qualité de code, tels que les bogues ». Les données biométriques ont par exemple aidé à détecter automatiquement 50 % des bogues trouvés dans des revues de code. Après comparaison, les chercheurs estiment encore que leur méthode surpasse les méthodes traditionnelles pour prédire les problèmes de qualité trouvés dans des revues de code, et améliore un classifieur naïf bayésien de 26 %.

Une deuxième étude réalisée sur cinq développeurs professionnels d’une autre entreprise confirme certains résultats de la première étude, notamment les conclusions sur la détermination automatique des parties difficiles dans le code, celles-ci finissant avec le plus de problèmes de qualité identifiés dans les revues de code.

Les chercheurs suisses concluent donc que dans l'ensemble, les résultats des leurs études suggèrent que la biométrie a le potentiel de prédire les problèmes de qualité de code en ligne et par conséquent réduire les coûts de développement et d'évolution des logiciels.

En ce qui concerne la portée, ils voient à partir des résultats de leurs études, « de nouvelles opportunités pour soutenir les développeurs quand ils éprouvent des difficultés dans le code et pour corriger les problèmes de qualité le plus tôt possible, juste quand ils sont en train d'être créés. »

Toutefois, il faut noter les éventuels problèmes de confidentialité que pourraient soulever l’utilisation des capteurs et la transmission des données biométriques des développeurs. Les chercheurs de l’université de Zurich estiment donc que vu ce problème, d'autres recherches sont nécessaires pour étudier une solution réalisable.

Télécharger l'étude : Using (Bio)Metrics to Predict Code Quality Online

Source : Vice.com

Et vous ?

Que pensez-vous des résultats de cette étude ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de TiranusKBX
Expert confirmé https://www.developpez.com
Le 24/05/2016 à 21:47
je paris que je fausse leur résultat en écoutant de la musique symphonique, vas fait bien varier la palpitant ou alors regarder en parallèle un film d'horreur ^^
plus sérieusement quand on fait trois chose en même temps leur système fait comment pour s'en rendre compte ?
ça ressemble furieusement à une étude pour un assureur
6  0 
Avatar de jopopmk
Membre expert https://www.developpez.com
Le 25/05/2016 à 8:25
Citation Envoyé par Michael Guilloux Voir le message
Que pensez-vous des résultats de cette étude ?
Qu'il faut bien légitimer les subventions reçues.

Maintenant y'a deux choses qui me chiffonnent dans ce qui est retranscrit ici :

déterminer la difficulté perçue des éléments de code et en outre identifier les endroits dans le code qui finissent avec des problèmes de qualité de code
Si on rencontre des difficultés on finit nécessairement avec un code degueu' ?

Les données biométriques ont par exemple aidé à détecter automatiquement 50 % des bogues trouvés dans des revues de code
Des bugs qu'on trouve à la simple lecture d'un code ? Y'aurait pas comme un souci en amont ?
5  0 
Avatar de melka one
Membre éprouvé https://www.developpez.com
Le 25/05/2016 à 9:30
c'est un peut comme un détecteur de mensonge ça doit être utile pour du recrutement.
5  0 
Avatar de pcdwarf
Membre éclairé https://www.developpez.com
Le 25/05/2016 à 14:39
Ce qu'on trouvé les chercheurs est probablement vrai.
Il semble d'ailleurs évident que la qualité du code produit dépende de la condition physique.

Par contre, la chose est claire.
On savait déjà qu'un développeur n'était plus un artiste mais un "pisseur de code"
Désormais ça n'est même plus un être humain.
C'est une entité biologique transformant la pizza en programme en employant le café comme catalyseur.

1  0 
Avatar de Jonyjack
Membre averti https://www.developpez.com
Le 25/05/2016 à 14:54
Souvent, les bogues les plus vicieux sont ceux présents dans du code "facile". Une erreur d'attention ça arrive, et c'est très dur à détecter de prime abord.
1  0 
Avatar de gstratege
Membre habitué https://www.developpez.com
Le 24/05/2016 à 19:54
Et puis quoi encore ! On lutte déjà pour conserver nos données de nos disques durs, maintenant ils veulent voler et vendre nos données biométriques
0  1 
Avatar de rambc
Membre expérimenté https://www.developpez.com
Le 24/05/2016 à 20:50
A quand une sonde a---- ?
0  0 
Avatar de
https://www.developpez.com
Le 25/05/2016 à 10:37
Sa m'inquiète un peu ces 50%.

Si je compare à un S.G.B.D. sa voudrait dire que c'est se tromper sur des manipulations et transmissions d'informations avec la même probabilité que pile ou face...

Mais comme développer n'est pas que sa.

Le cognitif de l'automate c'est un peu l'analyseur lexicale et l'analyseur grammatical. Exemple, C++ avec les .h et .cpp délimite certaines choses. Mais pas toujours le sens dans le cadre de modèle d'exploitation pré-établi, se qui introduit les degrés de libertés et de sécurités. Il y va de même pour Java. U.M.L. n'ayant pratiquement aucun pouvoir de persuasion sur l'algorithme ou le code source implémenté (qui n'est pas celui du projet). Surement une des lacunes du modèle et modélisation objet.

Mais cela reste mon avis perso. Tout comme Jar2Exe, Launch4j et JVM.
0  3 
Avatar de LapinGarou
Membre confirmé https://www.developpez.com
Le 27/05/2016 à 16:51
Dans certaines entreprises il y a 2 devs sur un même poste pour éviter les erreurs. Un peu comme à la DDE...
0  0 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web