Trop de bugs ? La génération automatique de patchs est en route ! |
————— 02 Octobre 2017 à 07h07 —— 14836 vues
Trop de bugs ? La génération automatique de patchs est en route ! |
————— 02 Octobre 2017 à 07h07 —— 14836 vues
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.
Au comptoir, pas besoin de programme spécialisé contre les bugs !
Un poil avant ?Gamotron • Ça colle entre Bayek et Cléopâtre | Un peu plus tard ...La beta de CoD WWII en test |