Intel a annoncé le lancement de ControlFlag, un logiciel détectant automatiquement les problèmes et bugs présents dans les codes informatiques. L’objectif est de réduire le temps nécessaire pour corriger un code et en gagner afin d’améliorer la qualité de celui-ci.

Intel veut aider les développeurs à gagner du temps dans la correction de leur code

Pour la grande majorité des développeurs, le processus de correction du code est une tâche longue et fastidieuse. La plupart des bugs nécessitent une analyse poussée pour identifier, étudier, et évaluer l’erreur afin de l’atténuer puis de la corriger.

Désormais disponible via GitHub, ControlFlag exploite le machine learning pour identifier automatiquement les problèmes présents dans un code. Avec cet outil, les développeurs évitent ainsi de passer trop de temps pour corriger leur code. Le programme est d’ailleurs accessible gratuitement et en open source.

Annoncé pour la première fois à la fin de l'année dernière, ControlFlag n'était jusqu'à présent utilisé qu'en interne par Intel pour repérer les anomalies dans le développement de leurs logiciels. « L'année dernière, ControlFlag a identifié une anomalie de code dans l'URL client (cURL), un projet de logiciel transférant des données à l'aide de divers protocoles réseau plus d'un milliard de fois par jour » détaille Justin Gottschlich, AI Scientist pour Intel dans un billet de blog. Il ajoute que « plus récemment, ControlFlag a trouvé des dizaines de nouvelles anomalies sur plusieurs référentiels de logiciels open source de haute qualité. »

Comment fonctionne ControlFlag ?

ControlFlag fonctionne avec tout langage de programmation contenant des structures de contrôles, ce qui est le cas pour Python ou C++. Le modèle a été entraîné à l’aide d’une branche du machine learning qu’on nomme apprentissage non supervisé. Le modèle est soumis à des données non étiquetées à la base et le système doit apprendre à classer ces données en les traitant et en analysant leurs caractéristiques.

De plus, l’outil continue de s’améliorer grâce aux données fournies par les développeurs lorsqu’ils utilisent le logiciel. Pour Intel, l’utilisation de l’apprentissage non supervisé était nécessaire pour le fonctionnement de ControlFlag.

En matière de développement logiciel, nombreuses sont les entreprises qui utilisent l’intelligence artificielle pour aider les codeurs dans leur travail. Plusieurs sociétés, dont Databricks, se lancent dans le low-code/no-code, une technologie qui permet aux personnes qui n’ont pas pour habitude de coder, de développer des applications sans avoir à maîtriser l’ensemble des étapes et toute la complexité de la programmation informatique. En mai, Microsoft présentait un logiciel permettant de coder en langage naturel.