Avec la croissance des applications, l’analyse du code est devenue un défi pour les développeurs pour garantir la qualité du code. Intel a créé un outil à base de machine learning afin de répondre à cette problématique. La solution se nomme ControlFlag et vient d’être ouvert à la communauté par le fondeur de Santa Clara.
ControlFlag fonctionne avec plusieurs langages de programmation contenant des structures de contrôle (c'est-à-dire des blocs de code qui spécifient le flux de contrôle dans une application). L’outil vise à réduire le travail de débogage en tirant parti de l'apprentissage non supervisé. Il s’agit d’un algorithme soumis à des données « inconnues » pour lesquelles il n'existe pas de catégories ou d'étiquettes préalablement définies. Le système de machine learning de ControlFlag, dans ce cas doit apprendre à classer les données, en traitant les données non étiquetées pour apprendre de leur structure inhérente.
Des résultats encourageants
Les premiers tests de ControlFlag sont encourageants. « L'année dernière, il a identifié une anomalie de code dans Client URL (cURL), un projet de logiciel informatique transférant des données à l'aide de divers protocoles réseau plus d'un milliard de fois par jour », explique Justin Gottschlich, directeur d’Intel Lab. « De même, ControlFlag a trouvé des dizaines d'anomalies inédites sur plusieurs dépôts de logiciels open source » ajoute le responsable.
La demande sur la qualité du code est en forte croissance et attire plusieurs développeurs. Une étude de Gartner en 2020 montrait que les entreprises IT dépensaient environ 2 000 milliards de dollars en développement de logiciel et 50% des budgets sont liés au débogage de code. Ce marché se développe de plus en plus et la concurrence s’annonce rude avec plusieurs acteurs comme Tabnine, Ponicode, Snyk et DeepCode. On peut également citer OpenAI d’IBM qui s’appuie aussi sur le machine learning dans le développement d’application.