Skip to main content

Hva er en kontrollflytgraf?

En kontrollflytgraf (CFG) er en visuell representasjon av de forskjellige banene koden til et dataprogram kan ta. En CFG består av en serie symboler, kalt noder, som er koblet sammen med piler som viserruten som hver og en kan ta til neste node. Hver node representerer en betydelig linje eller linjer med programmeringskode. Det er flere måter å gjengi en CFG, men de erAlt generelt lest på samme måte. I utseende er en kontrollstrømgraf ikke ulik et flytskjema.

Et av de primære formålene med å lage en kontrollflytgraf er å oppdage om det er deler av en datamaskinprogram som er unødvendig. Dette kan oppnås enkelt når du ser på kontrollstrømdiagrammet. Enhver node som ikke har en pil som kobler det til resten av nodene, kan fjernes.

Et annet formål en kontrollFlow Graph serverer er å hjelpe tilDiagram viser hvilken tilstand som må være oppfylt for å flytte til noden som den peker på, så situasjoner der denne tilstanden aldri blir oppfylt kan oppdages, fordi det får programmet til å sykle tilbake til forrige node om og om igjen.

, en kontrollflytgraf kan bidra til å lage en programavhengighetsgraf. Denne typen graf viser hvilke områder i et program som er avhengig av andre deler. I informatikk brukes dette til å etablere en evalueringsrekkefølge for å sikreDen programkoden utføres i riktig sekvens. Den visuelle naturen til en kontrollflytgraf er en av funksjonene som kan gjøre den potensielt uvurderlig. Kodebiter som aldri kalles direkte ellerÅ få tilgang til det vil være ganske åpenbart, fordi det enten ikke vil være noen piler som kobler det til hovedprogrammet, eller forholdene vil vise at de aldri kan oppfylles for å nå koden. Det er dataprogrammer som kan automatiskeAlly genererer en kontrollflytgraf basert på en serie kildekodefiler, og ytterligere forenkle prosessen. En kontrollflytgraf kan representeres på et hvilket som helst antall måter, og kan derfor virke annerledes avhengig av hvem som har produsert den.Noen grafer bruker sirkler eller firkanter utelukkende for å representere noder, mens andre bruker de samme formene som en standard flytskjema. Selv om de leses på nøyaktig samme måte, er metoden valgter rent personlig preferanse.