18/02/2019

Moins de bogues avec l’apprentissage automatique pour Mozilla

Mozilla utilisera les technologies d’apprentissage automatique pour trouver les bogues de code avant leur envoi pour son navigateur Firefox.

Clever-Commit, est un assistant de codage basé sur l’apprentissage automatique développé conjointement avec le développeur de jeux Ubisoft. Mozilla compte déployer cet assistant pour réduire le nombre d’erreurs de codage commises dans son navigateur Firefox.

L’analyse de code avec Clever-Commit

Clever-Commit analyse les modifications de code au fur et à mesure que les développeurs les enregistrent dans la base de code de Firefox. Il effectue une comparaison avec tout le code qu’il a vu auparavant pour détecter s’ils ressemblent à du code que le système sait être bogué. Si le cas se présente, le développeur est averti. Il est alors possible que le bogue puisse être corrigé avant qu’il ne soit validé dans le référentiel source. Au-delà de la détection, Clever-Commit suggère aussi des corrections.

Le déploiement de Clever-Commit au sein de Mozilla se cantonnera dans un premier temps à la révision du code. Il sera vraisemblablement étendu à d’autres phases de développement à l’avenir. L’assistant prend en charge les trois langages utilisés par Mozilla pour Firefox : C ++, JavaScript et Rust.

Une solution basée sur un projet des laboratoires Ubisoft

L’année dernière, Ubisoft présentait son assistant de publication, basé sur une recherche appelée CLEVER. Le système permettait déjà de rechercher des bogues et de suggérer des corrections. Le projet était prometteur avec une performance de 60 à 70 % des cas de codes erronés même s’il présentait un fort taux de faux positifs de 30 %. Ce dernier point semblait négligeable face au temps gagné dans l’identification d’un bogue réel.

Mozilla prévoit un niveau de succès similaire une fois que Clever-Commit sera pleinement intégré à ses processus de développement. Trois à quatre bogues sur cinq ont été détectés avant qu’ils ne soient validés. Cette solution est plus facile et moins coûteuse que des corrections après la mise en production d’une anomalie.

Source : blog.mozilla.org

Actualités