ControlFlag : un outil de débogage de code

Intel a publié la sortie de la version significative de Indicateur de contrôle 1.0, qui est un système de contrôle logiciel permettant détecter les erreurs et anomalies dans votre code source en utilisant un système d'apprentissage automatique formé sur une grande quantité de code existant.

Contrairement aux analyseurs statiques traditionnels, ControlFlag n'applique pas de règles prédéfinies, dans laquelle il est difficile de prévoir toutes les options possibles, mais plutôt partie des statistiques d'utilisation de tous types de constructions langue dans un grand nombre de projets existants.

Selon les recherches, la recherche et la suppression de bogues dans le code se font le plus souvent manuellement et prennent plus de 50 % du temps de travail des développeurs. 

L'outil apprend à identifier et à étiqueter ces options stylistiques, et vous pouvez personnaliser l'identification des bogues et corriger les recommandations en fonction de vos connaissances, en minimisant les caractérisations de mauvais code ControlFlag qui peuvent simplement être un écart stylistique entre deux équipes de développeurs. .

À propos de ControlFlag

Le système est formé en construisant un modèle statistique à partir de la matrice de code source existante open publié sur GitHub et des référentiels publics similaires. Au stade de la formation, le système détermine des modèles typiques pour créer des structures dans le code et crée un arbre syntaxique de connexions entre ces modèles, reflétant le flux d'exécution du code dans le programme.

En conséquence, un arbre de décision de référence est formé, qui combine l'expérience de développement de tous les textes sources analysés. Un processus de configuration de modèle similaire est effectué pour le code testé, qui est comparé à un arbre de décision de référence. De grands écarts avec les branches adjacentes indiquent une anomalie dans le modèle qui est en cours de vérification.

Des caractéristiques De la version ControlFlag 1.0, la prise en charge complète des modèles C est mise en évidence et la capacité de détecter anomalies dans les instructions "if" conditionnelles.

Par exemple, lors de l'analyse de l'extrait de code "if (x = 7) y = x;" le système détectera que la construction « variable == nombre » est généralement utilisée dans la déclaration « si » pour comparer des valeurs numériques, donc l'indication « variable = nombre » dans la déclaration « si » est probablement causée par une erreur typographique.

El Kit fournit un script qui permet de télécharger les dépôts C disponibles sur GitHub et les utiliser pour construire un modèle. Des modèles prêts à l'emploi sont également disponibles, vous permettant de commencer à vérifier le code immédiatement

Le système fait partie du projet de recherche en programmation machine (MPR) d'Intel, dont l'objectif principal est de réduire de 1000 fois le temps nécessaire au développement logiciel grâce à l'automatisation.

En particulier, Intel travaille actuellement à former Controlflag pour corriger automatiquement les erreurs détectées. Toujours en 2020, la société a publié l'outil MISIM, développé en collaboration avec les laboratoires du MIT, qui peut étudier des extraits de code pour comprendre ce qu'un morceau de code est destiné à faire. Le système est destiné à être utilisé pour fournir aux développeurs des moyens d'améliorer l'efficacité du code.

"Le débogage devrait causer encore plus de dommages aux développeurs et à l'industrie dans son ensemble", a déclaré Intel. Annonce… « Une fois entièrement mis en œuvre, ControlFlag peut aider à atténuer ce défi en automatisant les tracas du développement de logiciels tels que les tests, la surveillance et le débogage.

« Le principal avantage de l'approche non supervisée de ControlFlag en matière de reconnaissance de formes est que vous pouvez essentiellement apprendre à vous adapter au style du développeur. Parce que le programme a une entrée limitée aux outils de contrôle que vous devez évaluer. ControlFlag peut identifier les variations typographiques dans les langages de programmation de la même manière que les lecteurs peuvent reconnaître des différences complètes entre les mots et utiliser des abréviations anglaises », écrit Intel.

Enfin si vous souhaitez en savoir plus A propos de ControlFlag, il faut savoir qu'il est écrit en C++ et qu'il est open source sous la licence MIT et son code est hébergé sur GitHub.


Le contenu de l'article adhère à nos principes de éthique éditoriale. Pour signaler une erreur, cliquez sur c'est par ici !.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.