Un grafico di flusso di controllo (CFG) è una rappresentazione visiva dei vari percorsi che il codice di un programma per computer può seguire.Un CFG è composto da una serie di simboli, chiamati nodi, che sono collegati da frecce che mostrano il percorso che ognuno può portare al nodo successivo. Ogni nodo rappresenta una o più linee significative di codice di programmazione. Esistono diversi modi per eseguire il rendering di un CFG, ma sono tutti generalmente letto allo stesso modo.In apparenza, un grafico di flusso di controllo non è diverso da un diagramma di flusso.
Uno degli scopi principali della creazione di un diagramma di flusso di controllo è scoprire se ci sono parti di un programma per computer che non sono necessarie.Ciò può essere ottenuto facilmente guardando il diagramma di flusso di controllo.Qualsiasi nodo che non ha una freccia che lo collega al resto dei nodi può essere rimossa.
Un altro scopo di un grafico del flusso di controllo è quello di aiutare a isolare problemi come i cicli infiniti, in cui l’esecuzione del programma non si sposta oltre un singolo nodo.Ogni freccia sul diagramma mostra quale condizione deve essere soddisfatta per spostarsi al nodo in cui punti, quindi le situazioni in cui tale condizione non viene mai soddisfatta possono essere individuate, perché fa sì che il programma torni indietro ripetutamente al nodo precedente.
Infine, un grafico del flusso di controllo può aiutare a creare un grafico delle dipendenze del programma.Questo tipo di grafico mostra quali aree di un programma dipendono da altre parti.In informatica, viene utilizzato per stabilire un ordine di valutazione da assicurarsi che il codice del programma venga eseguito nella sequenza corretta.
La natura visiva di un grafico del flusso di controllo è una delle caratteristiche che può renderlo potenzialmente prezioso.Parti di codice che non vengono mai chiamate o accessibili direttamente saranno abbastanza ovvie, perché non ci saranno frecce che lo colleghino al programma principale oppure le condizioni mostreranno che non potranno mai essere soddisfatte per raggiungere il Codice.Esistono programmi per computer in grado di generare automaticamente un grafo di flusso di controllo basato su una serie di file di codice sorgente, semplificando ulteriormente il processo.
Un grafico di flusso di controllo può essere rappresentato in molti modi e, quindi, potrebbe apparire in modo diverso a seconda di chi lo ha prodotto.Alcuni grafici usano cerchi o quadrati esclusivamente per rappresentare i nodi mentre altri usano il stesse forme di un diagramma di flusso standard Sebbene vengano letti nello stesso identico modo, il metodo scelto è una preferenza puramente personale.