Skip to main content

Vad är en kontrollflödesgraf?

En kontrollflödesgraf (CFG) är en visuell representation av de olika sökvägarna som koden för ett datorprogram kan ta. En CFG består av en serie symboler, kallade noder, som är anslutna med pilar som visarden rutt som var och en kan ta till nästa nod. Varje nod representerar en betydande rad eller rader med programmeringskod. Det finns flera sätt att göra en CFG, men de ärAllt som generellt läses på samma sätt. I utseende är en kontrollflödesgraf inte till skillnad från ett flödesschema.

Ett av de primära syftena med att skapa en kontrollflödesgraf är att upptäcka om det finns delar av en datorProgram som är onödigt. Detta kan lätt uppnås när man tittar på kontrollflödesdiagrammet. Varje nod som inte har en pil som ansluter den till resten av noderna kan tas bort.

Ett annat syfte En kontroll av kontrollenFlödesdiagram serverar är att hjälpa till att isolera problem som oändliga slingor, där programutförande inte går längre än en enda nod. Varje pil påDiagram visar vilket tillstånd som måste uppfyllas för att flytta till den nod som den pekar på, så situationer där det tillståndet aldrig uppfylls kan upptäckas, eftersom det får programmet att cykla tillbaka till föregående nod om och om igen.

Slutligen, en kontrollflödesgraf kan hjälpa till att skapa en programberoende graf. Denna typ av graf visar vilka områden i ett program som är beroende av andra delar. I datavetenskap används detta för att upprätta en utvärderingsorder för att säkerställaDen programkoden körs i rätt sekvens.

Den visuella karaktären hos en kontrollflödesgraf är en av funktionerna som kan göra den potentiellt ovärderlig. Kodbitar som aldrig direkt kallas ellerTillåtet kommer att vara ganska uppenbart, eftersom det antingen inte kommer att finnas några pilar som länkar det till huvudprogrammet eller villkoren kommer att visa att de aldrig kan uppfyllas för att nå koden. Det finns datorprogram som kan automatisktAlly genererar en kontrollflödesgraf baserad på en serie källkodfiler, ytterligare förenkla processen.

En kontrollflödesgraf kan representeras på vilket antal sätt som helst och kan därför verka annorlunda beroende på vem som har producerat den.Vissa grafer använder cirklar eller rutor exklusivt för att representera noder medan andra använder samma former som ett standardflödesschema. Även om de läses på exakt samma sätt, valt metodenär rent personlig preferens.