Wat is een controlestroomgrafiek?
Een control flow graph (CFG) is een visuele weergave van de verschillende paden die de code van een computerprogramma kan volgen. Een CFG bestaat uit een reeks symbolen, knooppunten genaamd, die zijn verbonden door pijlen die de route die iedereen kan nemen naar het volgende knooppunt. Elk knooppunt vertegenwoordigt een significante regel of regels programmeercode. Er zijn verschillende manieren om een CFG te maken, maar ze zijn allemaal over het algemeen op dezelfde manier gelezen. Qua uiterlijk lijkt een controlestroomgrafiek niet op een stroomdiagram.
Een van de belangrijkste doelen van het maken van een besturingsstroomgrafiek is om te ontdekken of er delen van een computerprogramma zijn die overbodig zijn. Dit kan eenvoudig worden bereikt door naar het besturingsstroomdiagram te kijken. een pijl die het verbindt met de rest van de knopen kan worden verwijderd.
Een ander doel dat een controlestroomgrafiek dient, is om problemen te helpen isoleren, zoals oneindige lussen, waarbij de uitvoering van het programma niet verder gaat dan een enkele knoop. Elke pijl in het diagram toont aan welke voorwaarde moet worden voldaan om naar de knoop te gaan waarnaar punten, dus situaties waarin nooit aan die voorwaarde wordt voldaan, kunnen worden opgemerkt, omdat het ervoor zorgt dat het programma steeds weer terugkeert naar het vorige knooppunt.
Ten slotte kan een controlestroomgrafiek helpen om een afhankelijkheidsgrafiek van een programma te maken. Dit type grafiek laat zien welke delen van een programma afhankelijk zijn van andere delen. In de informatica wordt dit gebruikt om een evaluatiebestelling vast te stellen zorg ervoor dat de programmacode in de juiste volgorde wordt uitgevoerd.
Het visuele karakter van een controlestroomgrafiek is een van de functies waardoor het potentieel van onschatbare waarde kan zijn. Codestukken die nooit rechtstreeks worden aangeroepen of geopend, zijn vrij duidelijk, omdat er geen pijlen zijn die het aan het hoofdprogramma koppelen of aan de voorwaarden zal blijken dat er nooit aan kan worden voldaan om de code te bereiken. Er zijn computerprogramma's die automatisch een besturingsstroomgrafiek kunnen genereren op basis van een reeks broncodebestanden, waardoor het proces verder wordt vereenvoudigd.
Een controlestroomgrafiek kan op verschillende manieren worden weergegeven en kan daarom er anders uitzien, afhankelijk van wie het heeft geproduceerd. Sommige grafieken gebruiken cirkels of vierkanten uitsluitend om knopen weer te geven, terwijl anderen de dezelfde vormen als een standaard stroomdiagram. Hoewel ze exact op dezelfde manier worden gelezen, is de gekozen methode puur persoonlijke voorkeur.