GNU cflow 1.7 est déjà sorti et est livré avec de nouvelles commandes et plus

Après trois ans de développement la sortie de la nouvelle version de l'utilitaire GNU cflow 1.7 a été annoncée. Pour ceux qui ne connaissent pas cet utilitaire, ils doivent savoir qu'il est conçu pour construire un graphique visuel des appels de fonction dans les programmes C, qui peut être utilisé pour simplifier l'étude de la logique applicative.

Le graphiqueou il est construit uniquement à partir de l'analyse des textes sources, sans avoir besoin d'exécuter le programme, en plus de prendre en charge la génération de graphiques à flux direct et inverse, ainsi que la génération de listes de références croisées pour les fichiers avec du code.

Le package est entièrement fonctionnel et se compile et s'exécute sur n'importe quelle distribution GNU / Linux et également sur les nouveaux systèmes de type UNIX. Il prend en charge tous les commutateurs de ligne de commande requis par POSIX. Il est capable de produire des résultats dans deux formats : au format GNU cflow (qui est le format par défaut) et au format POSIX.

Actuellement, l'utilitaire ne peut traiter que les polices C car il s'agit du seul écart par rapport aux spécifications POSIX, nécessitant la possibilité de traiter les polices YACC et LEX ainsi que les fichiers objets binaires.

Le module Emacs cflow-mode.el fonctionne avec des fichiers au format GNU cflow (par opposition au format POSIX) et a été testé avec Emacs 24.2.1.

Principales nouvelles fonctionnalités de GNU cflow 1.7

Dans cette nouvelle version de la version se distingue par la mise en œuvre de la compatibilité avec le format de sortie "dot" ('–Format = dot') pour générer un résultat DOT pour un traitement ultérieur dans le package Graphviz.

En outre, il est également souligné que ajout de la possibilité de spécifier plusieurs fonctions de démarrage en dupliquant les options '–main', qui sera généré avec un graphique séparé pour chacune de ces fonctions.

Il est également noté que l'option "–Target = FUNCTION" pour restreindre le graphique résultant à une seule branche qui inclut certaines fonctions (l'option "–target" peut être spécifiée plusieurs fois).

Un autre changement qui a été intégré dans cette nouvelle version de GNU cflow 1.7 est que de nouvelles commandes ont été ajoutées pour la navigation cartographique un mode cflow : »c" qui permet d'aller à la fonction appelante, "n" qui permet d'aller à la fonction suivante à ce niveau d'imbrication et "p" pour aller à la fonction précédente avec le même niveau d'imbrication.

D'autre part, il est également mentionné dans l'annonce de cette nouvelle version de GNU cflow 1.7 qu'elle deux vulnérabilités ont été supprimées qui ont été identifiés en 2019 provoquant une corruption de la mémoire lors du traitement de textes sources spécialement conçus dans cflow.

Parmi les vulnérabilités qui ont été corrigées, les suivantes sont mentionnées :

  • La première vulnérabilité (CVE-2019-16165) se produit lors de l'accès à la mémoire après sa libération (use-after-free) dans le code de l'analyseur (fonction de référence dans parser.c).
  • La deuxième vulnérabilité (CVE-2019-16166) concerne un débordement de buffer dans la fonction nexttoken(). De l'avis des développeurs, ces problèmes ne constituent pas une menace pour la sécurité car ils se limitent à une interruption anormale de l'utilitaire.

Enfin si vous souhaitez en savoir plus à propos de cette nouvelle version, vous pouvez vérifier les détails dans le lien suivant.

Comment installer cflow sur Linux ?

Pour ceux qui souhaitent pouvoir installer cet utilitaire sur leur système, ils doivent savoir que cflow se trouve dans les référentiels de certaines des principales distributions Linux. Je dois juste mentionner que la nouvelle version n'a pas encore été implémentée dans certains d'entre eux, mais ce n'est qu'une question de jours avant qu'elle ne soit prête.

Pour ceux qui sont des utilisateurs de Debian, Ubuntu ou de tout dérivé de ceux-ci, ils peuvent installer depuis le terminal en tapant la commande suivante :

sudo apt install cflow -y

Dans le cas d'Arch Linux, Manjaro ou de toute autre distribution dérivée de ces utilisateurs, l'installation doit se faire depuis les dépôts AUR :

yay -s cflow

Quant à ceux qui souhaitent pouvoir compiler la nouvelle version, ils peuvent être obtenus auprès du lien suivant


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  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.