Što je graf tijeka kontrole?

Kontrolni graf tijeka (CFG) vizualni je prikaz različitih putova kojima se može proći kod računalnog programa. CFG se sastoji od niza simbola, nazvanih čvorovi, koji su povezani strelicama koje pokazuju put kojim svaki može krenuti do sljedećeg čvora. Svaki čvor predstavlja značajnu liniju ili retke programskog koda. Postoji nekoliko načina za generiranje CFG-a, ali svi su općenito se čita na isti način.Po izgledu, graf tijeka kontrole nije različit od dijagrama toka.

Jedna od primarnih svrha stvaranja grafa kontrolnog toka je otkriti postoje li dijelovi računalnog programa koji su nepotrebni. To se može lako postići gledanjem u dijagram toka kontrole. Svaki čvor koji nema strelica koja ga povezuje s ostalim čvorovima može se ukloniti.

Druga svrha grafa toka kontrole je da pomogne izolirati probleme kao što su beskonačne petlje, gdje se izvršavanje programa ne pomiče dalje od jednog čvora. Svaka strelica na dijagramu pokazuje koji uvjet mora biti zadovoljen da se premjesti na čvor na koji se točke, tako da se mogu uočiti situacije u kojima taj uvjet nikada nije zadovoljen, jer uzrokuje da se program stalno vraća na prethodni čvor.

Konačno, graf tijeka kontrole može pomoći u stvaranju grafa ovisnosti programa. Ovaj tip grafa pokazuje koja su područja programa ovisna o drugim dijelovima. U računalstvu se koristi za uspostavljanje redoslijeda evaluacije za osigurati da se programski kod izvršava u ispravnom slijedu.

Vizualna priroda grafa toka kontrole jedna je od značajki koje ga mogu učiniti potencijalno neprocjenjivim. Dijelovi koda koji se nikada ne pozivaju izravno ili im se pristupa bit će prilično očiti, jer ili neće postojati strelice koje ga povezuju s glavnim programom ili će uvjeti pokazati da se nikada ne mogu ispuniti da bi došli do koda.Postoje računalni programi koji mogu automatski generirati graf tijeka kontrole na temelju niza datoteka izvornog koda, dodatno pojednostavljujući proces.

Kontrolni graf se može predstaviti na više načina i stoga se može pojaviti drugačije ovisno o tome tko ga je proizveo. Neki grafovi koriste krugove ili kvadrate isključivo za predstavljanje čvorova, dok drugi koriste isti oblici kao i standardni dijagram toka Iako se čitaju na potpuno isti način, odabrana metoda je isključivo osobnih preferencija.