Nous vous parlions cet été de détection automatique de bugs, il est question ici de résolution automatique de ces derniers. En effet, des chercheurs de l'Université de Californie (San Diego) ont remarqué que les patchs de correction de bugs sont souvent des correctifs courts (quelques lignes, par exemple pour vérifier qu'un objet existe en mémoire avant d'y accéder) et génériques, d'où l'idée de les automatiser.

 

Il existait déjà auparavant des correcteurs permettant de suggérer une template au programmeur, mais cette dernière devait être au préalable manuellement ajoutée. Ici le programme, nommé Genesis, s'inspire de patchs déjà codés pour définir ses propres propositions. Verdict : face à la machine, l'humain déclare 5 à 10 modèles différents, là ou la machine en voit 85, ce qui permet de corriger deux fois plus d'erreurs ! Sur un jeu de test spécialement dédié à cet effet, Genesis a su corriger 21 fautes sur 49, là où le meilleur algorithme utilisant des templates manuelles n'en trouvait que 11.

D'un point de vue théorique, Genesis sélectionne plusieurs templates candidats, pour ensuite les classer par efficacité sur des programmes d'exemple, et ne conserver que les 500 meilleurs. Elles-mêmes sont raffinées par la suite afin de minimiser les doublons.

 

Bien que Genesis ne soit pas à proprement parler capable de comprendre le code (il reconnait simplement certains motifs), il s'agit d'un premier pas dans ce sens. Pour le moment, le seul langage supporté est le Java, ce qui limite son utilisation. Cependant, si ce système fait ses preuves, une adaptation sur d'autres langages est plus que probable.

 

insecticide

Au comptoir, pas besoin de programme spécialisé contre les bugs !

 Un programme pour corriger les bugs ? Sans humains ? Vraiment ? 

Sur le comptoir, au même sujet

 
 
 
 
 

afficher plus de prixAffichez donc moi tout, nom de nom

Plus d'infos avec le comptoir de l'info

Voir plus de news
Les 15 Ragots
   
Les ragots sont actuellement
ouverts à tous, c'est open bar !