GNU cflow 1.7 ja va ser alliberada i arriba amb noves ordres i més

Després de tres anys de desenvolupament es va donar a conèixer lalliberament de la nova versió de la utilitat GNU cflow 1.7. Per als que desconeixen aquesta utilitat, han de saber que està dissenyada per construir un gràfic visual de trucades a funcions en programes C, que es pot utilitzar per simplificar l'estudi de la lògica de l'aplicació.

El gràfico es construeix únicament a partir de l'anàlisi dels textos font, sense necessitat d'executar el programa, a més que admet la generació de gràfics de flux directe i invers, així com la generació de llistes de referències creuades per a fitxers amb codi.

El paquet està en ple funcionament i compila i s'executa en qualsevol distribució GNU/Linux i també en sistemes similars a UNIX més recents. És compatible amb totes les ordres interruptors de línia requerides per POSIX. És capaç de produir resultats en dos formats: en format GNU cflow (que és predeterminat) i en format POSIX.

Actualment, la utilitat només pot processar fonts C, ja que és l'única desviació de les especificacions POSIX, cosa que requereix la capacitat de processar Fonts YACC i LEX, així com fitxers d'objectes binaris.

El mòdul d'Emacs cflow-mode.el funciona amb fitxers en format GNU cflow (com oposat al format POSIX) i ha estat provat amb Emacs 24.2.1.

Principals novetats de GNU cflow 1.7

En aquesta nova versió del llançament es destaca per la implementació de compatibilitat amb el format de sortida dot ('–format=dot') per generar un resultat DOT per al seu posterior processament al paquet Graphviz.

A més també es destaca que s'ha afegit la capacitat d'especificar diverses funcions d'inici duplicant les opcions '-main', que es generarà amb un gràfic per separat per a cadascuna daquestes funcions.

També es destaca que s'ha afegit l'opció «–target=FUNCTION» per restringir el gràfic resultant a només una branca que inclou certes funcions (l'opció “–target” es pot especificar diverses vegades).

Un altre dels canvis que s'ha integrat en aquesta nova versió del GNU cflow 1.7 és que s'han afegit noves ordres per a la navegació de gràfics a cflow-mode:»c» el qual serveix per anar a la funció de trucada, «n» el qual serveix per anar a la següent funció en aquest nivell de nidament i «p» per anar a la funció anterior amb el mateix nivell de nidament.

D'altra banda, també s'esmenta a l'anunci d'aquesta nova versió de GNU cflow 1.7 que també es van eliminar dues vulnerabilitats que es van identificar el 2019 i que provoquen danys a la memòria en processar textos font especialment dissenyats en cflow.

De les vulnerabilitats que es van solucionar se'n menciona el següent:

  • La primera vulnerabilitat (CVE-2019-16165) es produeix en accedir a la memòria després d'alliberar-la (use-after-free) al codi de l'analitzador (funció de referència a parser.c).
  • La segona vulnerabilitat (CVE-2019-16166) es relaciona amb un desbordament de memòria intermèdia a la funció nexttoken(). En opinió dels desenvolupadors, aquests problemes no representen una amenaça per a la seguretat, ja que es limiten a la terminació anormal de la utilitat.

Finalment si estàs interessat en poder conèixer més a l'respecte sobre aquesta nova versió, pots consultar els detalls a el següent enllaç.

Com instal·lar cflow a Linux?

Per als que estiguin interessats a poder instal·lar aquesta utilitat al vostre sistema, han de saber que cflow està dins dels repositoris d'algunes de les principals distribucions de linux. Només he de mencionar que la nova versió encara no s'ha implementat en algunes, però és qüestió de dies perquè estigui llesta.

Per al cas dels que són usuaris de Debian, Ubuntu o qualsevol derivat d'aquestes, poden instal·lar des de la terminal teclejant la següent ordre:

sudo apt install cflow -y

Per al cas dels usuaris d'Arch Linux, Manjaro o qualsevol altra distribució derivada d'aquestes, la instal·lació l'han de fer des dels repositoris d'AUR:

yay -s cflow

Quant als que estiguin interessats a poder realitzar la compilació de la nova versió, aquesta la poden obtenir des del següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.