En ciencias de la computación, un grafo de control de flujo (CFG) es una representación, en forma de grafo dirigido, de todos los caminos que pueden ser atravesados a través de un programa durante su ejecución.
Descripción
Cada nodo del grafo representa una región contigua de código sin ramas, conocidos como bloque básico, y las aristas entre los nodos indican saltos en el flujo del programa. Existen dos bloques especiales, el de entrada, que ninguna arista llega a él y es la única forma de empezar a recorrer el grafo, y el de salida, del que ninguna arista sale y es la única forma de terminar de recorrer el grafo.
Construcciones estructurales
Las estructuras de control se pueden ver representadas en el grafo de la siguiente manera:
centro|marco|Aquí se muestran algunas construcciones estructurales en forma de grafo de control de flujo
Utilidad
El grafo de control de flujo tiene gran utilidad a la hora de realizar optimizaciones en el compilador y análisis estático de software.
Véase también Complejidad ciclomática Análisis de control del flujo Diagrama de flujo
Referencias
Enlaces externos Filminas sobre el grafo de control de flujo Generación de código Ingeniería de software Compiladores, Análisis de Flujo de Datos
Categoría:Análisis de software Categoría:Compiladores Categoría:Estructura de datos