Skip to main content

Hvad er en kontrolflowgraf?

En kontrolstrømningsgraf (CFG) er en visuel repræsentation af de forskellige stier, som kodeksen for et computerprogram kan tage. En CFG består af en række symboler, kaldet noder, der er forbundet med pile, der viserden rute, som hver enkelt kan tage til den næste knude. Hver knude repræsenterer en betydelig linje eller linjer med programmeringskode. Der er flere måder at gengive en CFG på, men de erAlle generelt læst på samme måde. I udseendet er en kontrolstrømningsgraf ikke i modsætning til et flowdiagram.

Et af de primære formål med at skabe en kontrolstrømningsgraf er at finde ud af, om der er dele af en computerprogram, der er unødvendigt. Dette kan let opnås, når man ser på kontroldiagrammet. Enhver knude, der ikke har en pil, der forbinder den til resten af knudepunkterne, kan fjernes.

Et andet formål Et kontrolFlow Graph -tjener er at hjælpe med at isolere problemer såsom uendelige sløjfer, hvor programudførelse ikke bevæger sig ud over en enkelt knude. Hver pil påDiagram viser, hvilken betingelse der skal være opfyldt for at flytte til den knude, som den peger på, så situationer, hvor denne betingelse aldrig er opfyldt, kan ses, en kontrolflow -graf kan hjælpe med at oprette en programafhængighedsgraf. Denne type graf viser, hvilke områder af et program er afhængige af andre dele. I datalogi bruges dette til at etablere en evalueringsordre for at sikreDenne programkode udføres i den rigtige rækkeÅbnede vil være temmelig indlysende, fordi der enten ikke vil være nogen pile, der forbinder det med hovedprogrammet, eller betingelserne viser, at de aldrig kan mødes for at nå koden. Der er computerprogrammer, der kan automatiskeAlly genererer en kontrolstrømningsgraf baseret på en række kildekodefiler, der yderligere forenkler processen.

En kontrolstrømningsgraf kan repræsenteres på en række måder og kan derfor forekomme anderledes afhængigt af hvem der har produceret den.Nogle grafer bruger cirkler eller firkanter udelukkende til at repræsentere noder, mens andre bruger de samme former som et standard flowdiagram. Selvom de læses på nøjagtigt samme måde, den metode, der er valgter rent personlig præference.