Développeurs : ControlFlag, l'outil de débogage automatisé d'Intel, est désormais open source,
il détecte automatiquement les anomalies dans le code et épargne des heures de travail fastidieux
Justin Gottschlich, scientifique principal et directeur/fondateur de Machine Programming Research à Intel Labs a annoncé le 20 octobre que ControlFlag, l'outil de débogage automatisé d'Intel, est désormais open source. « Afin de rendre ControlFlag plus largement accessible à la communauté des développeurs de logiciels, Intel a le plaisir d'annoncer que ControlFlag est désormais open source. Nous sommes ravis de donner aux développeurs la possibilité de développer sur cette base et de voir ce qu'il est possible de faire de plus avec cette technologie extrêmement précieuse et innovante », a déclaré Justin Gottschlich dans un post laissé sur son compte Linkedin.
L'équipe MPR (Machine Programming Research) d'Intel Labs a travaillé dur pour trouver des moyens d'améliorer la productivité et la qualité des développeurs de logiciels. Conçu à la fin de l'année dernière, ControlFlag utilise des techniques avancées d'apprentissage automatique supervisé (ML) qui lui permettent de détecter de manière autonome les anomalies de codage, réduisant ainsi le temps consacré au débogage et améliorant la qualité et l'intégrité des systèmes. Depuis son introduction, ControlFlag a été testé sur des logiciels de production et des systèmes logiciels libres largement utilisés. Par exemple, l'année dernière, ControlFlag 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 de réseau plus d'un milliard de fois par jour. Après avoir signalé l'anomalie à l'équipe cURL, celle-ci s'est dite d'accord avec les conclusions de ControlFlag et a par la suite corrigé son code.
Plus récemment, ControlFlag a obtenu des résultats positifs en identifiant des centaines de défauts latents liés à la mémoire et à des bogues potentiels de panne du système dans un logiciel propriétaire de niveau production. En outre, ControlFlag a trouvé des dizaines d'anomalies inédites dans plusieurs dépôts de logiciels libres de haute qualité. Chaque anomalie, jusqu'à présent, a été reconnue comme un défaut réel par les mainteneurs de logiciels libres et a depuis été corrigée.
Ces résultats montrent la promesse future de la capacité de ControlFlag à apporter des améliorations en matière de coûts et d'efficacité. Une étude récente a révélé que l'industrie des TI dépensera environ 2 000 milliards de dollars en 2020 en coûts de développement de logiciels associés au débogage du code, et qu'environ 50 % des budgets des TI seront consacrés au débogage du code. En outre, certains bugs posent des failles de sécurité potentielles aux conséquences désastreuses coûtant des millions de dollars.
Intel envisage de réduire de 1 000x le temps global qu'il faut pour développer un logiciel. Par exemple, ce qui peut prendre trois ans à réaliser aujourd'hui, nous voulons le faire en une seule journée à l'avenir grâce à la technologie MP. En plus d'améliorer la productivité du développement de logiciels, notre deuxième charte est de nous assurer que nous maintenons des caractéristiques de qualité spécifiques comme la correction, la performance, la sécurité et la maintenabilité lors de la synthèse de nouveaux logiciels.
Comment fonctionne ControlFlag
Aujourd'hui, presque tous les logiciels à grande échelle comportent des bogues de précision, de performance ou de sécurité. Certains bogues qui, historiquement, échappaient même aux programmeurs experts, peuvent être détectés automatiquement par la programmation machine (PM), ne nécessitant aucune intervention humaine. De plus, au fur et à mesure que des modifications sont apportées aux logiciels, comme de nouvelles fonctionnalités ou des mises à jour, la probabilité que ces modifications introduisent des bogues augmente et devient problématique.
ControlFlag fonctionne avec n'importe quel langage de programmation comportant des structures de contrôle et utilise le concept émergent de la semi-confiance pour utiliser l'apprentissage auto-supervisé, ce qui lui permet d'apprendre à partir de code source non étiqueté. À mesure que de nouvelles données sont introduites, il évolue pour s'améliorer, il est auto-évolutif et ne nécessite qu'un effort manuel minimal.
« Nous pensons que ControlFlag est un nouvel outil puissant qui pourrait réduire considérablement le temps et l'argent nécessaires à l'évaluation et au débogage du code. Selon des études, les développeurs de logiciels passent environ 50 % de leur temps à déboguer. Avec ControlFlag, et des systèmes comme celui-ci, j'imagine un monde où les programmeurs passent nettement moins de temps à déboguer et plus de temps à faire ce que je crois que les programmeurs humains font le mieux - exprimer des idées créatives et nouvelles aux machines », Justin Gottschlich, scientifique principal et directeur/fondateur de Machine Programming Research à Intel Labs.
L'un des principaux avantages de l'approche non supervisée de ControlFlag en matière de reconnaissance des formes est qu'il peut intrinsèquement apprendre à s'adapter au style d'un développeur. Avec des entrées limitées pour les outils de contrôle que le programme doit évaluer, ControlFlag peut identifier les variations stylistiques du langage de programmation, de la même manière que les lecteurs reconnaissent les différences entre les mots complets ou l'utilisation de contractions en anglais.
L'outil apprend à identifier et à baliser ces choix stylistiques et peut personnaliser l'identification des erreurs et les recommandations de solutions en fonction de ses connaissances, ce qui minimise les caractérisations par ControlFlag de code en erreur qui pourrait simplement être une déviation stylistique entre deux équipes de développeurs.
Intel a même commencé à évaluer l'utilisation de ControlFlag à l'interne pour identifier les bogues dans le développement de ses propres produits logiciels et micrologiciels. Il s'agit d'un élément clé du projet Rapid Analysis for Developers d'Intel, qui vise à accélérer la vitesse de développement en fournissant l'assistance d'experts. Intel n’est pas la seule compagnie à opter pour l’open source comme stratégie pour certains de ses outils. En 2009, l'IDE Java, JetBrains IntelliJ Idea, devient Open Source, en 2012 Microsoft annonce que le code source de la technologie d'accès aux données de Microsoft, Entity Framework, devient open source.
Le terme « open source » a été inventé dans le secteur du développement de logiciels et fait référence à quelque chose que tout le monde peut inspecter, modifier et partager. Il représente une approche spécifique de la création de programmes informatiques qui célèbre les valeurs de collaboration, de transparence et de développement communautaire. Pour protéger toutes les parties engagées dans l'open source, le propriétaire du projet peut utiliser une licence Creative Commons. Une licence Creative Commons (CC) permet à chacun de partager, d'utiliser et de développer votre travail.
En revanche, il existe des logiciels propriétaires. Le code source d'un tel programme ne peut être inspecté ou modifié que par ses propriétaires. Parmi les exemples de logiciels propriétaires figurent certains produits de Microsoft, Adobe ou Apple. Certaines entreprises considèrent les logiciels open source comme la norme, tandis que d'autres préfèrent développer des logiciels à source fermée. Et pour être sûr, le modèle open source a ses avantages et ses inconvénients.
Le choix de passer à l’open source serait animé par l'altruisme et le désir d'aider les autres. Cette motivation intrinsèque serait également la raison principale pour laquelle la plupart des gens travaillent sur des projets open source. Lorsqu’un développeur travaille sur des projets open source ou qu’il les dirige, il peut obtenir la reconnaissance de la communauté des développeurs de plusieurs façons, par exemple en créant un excellent profil GitHub.
Les logiciels open source peuvent profiter à de nombreuses entreprises. Cependant, ils peuvent également poser plusieurs défis importants : des coûts inattendus et des courbes d'apprentissage abruptes aux problèmes de compatibilité complexes. Les principaux inconvénients des logiciels libres sont liés à la difficulté d'utilisation. Certaines applications open source peuvent être délicates à configurer et à utiliser. D'autres peuvent manquer d'interfaces conviviales. Cela peut affecter la productivité et empêcher le personnel d'adopter ou d'utiliser facilement les programmes.
Les licences de logiciels libres ne contiennent généralement qu'une garantie limitée et aucune protection en matière de responsabilité ou d'indemnisation en cas d'infraction. Un logiciel qui est gratuit à l'origine mais dont l'exploitation coûte de l'argent par la suite peut constituer une charge importante, surtout si vous n'avez pas envisagé les coûts cachés dès le départ.
Avec ControlFlag, Intel s'oriente vers l'open source et s'engage à rendre les logiciels plus robustes et moins lourds à maintenir tout en conservant d'excellentes performances sans introduire de failles de sécurité. « Nous espérons que des projets comme ControlFlag pourront réduire de manière substantielle le temps nécessaire au développement de logiciels à l'échelle mondiale. En raison de l'énorme quantité de temps consacré au débogage, même un petit gain de temps dans ce domaine pourrait se traduire par des économies de temps et d'argent et nous permettre ainsi - en tant que communauté - d'accélérer l'avancement de la technologie », précise Intel.
Source : Intel
Quel est votre avis sur ControlFlag, l'outil de débogage automatisé d'Intel ?
Quel commentaire faites-vous de la décision d'Intel de rendre l'outil ope source ?
Que pensez-vous de l'utilisation des outils Open Source en entreprise ? Pour ou contre
Voir aussi :
Intel achève l'adoption de LLVM et mettra fin aux mises à jour des compilateurs C/C++ classiques, le compilateur Intel C/C++ basé sur LLVM présente un avantage de 41 % par rapport à gcc
Intel va investir jusqu'à 80 milliards de dollars dans la fabrication de puces en Europe, dans un contexte de perte de vitesse face à ses rivaux asiatiques
Intel se lance dans la bataille des GPU pour PC de jeu avec Arc, sa nouvelle marque de GPU pour jeux
Intel® Parallel Studio ne sera plus disponible en 2021 et va laisser place à oneAPI, la prochaine génération d'outils de dev Intel® pour la création et le déploiement d'apps hautes performances
Partager