Das Kefk Network Wiki befindet sich im Testbetrieb.


Kontrollfluss

Aus Kefk.

Wechseln zu: Navigation, Suche

Mit dem Begriff Kontrollfluss bezeichnet man in der Informatik die zeitliche Abfolge der einzelnen Befehle eines Computerprogramms. Der Kontrollfluss eines Programms ist gewöhnlich durch die Reihenfolge der Befehle innerhalb des Programms vorgegeben, jedoch erlauben Kontrollstrukturen, die Abarbeitungsreihenfolge zu verändern.

Inhaltsverzeichnis

Grundlagen

Der geplante Ablauf eines Programmes wird durch einen sog. Programmablaufplan (oder auch Kontrollflussgraph) dargestellt. Darin sind alle möglichen Verzweigungen innerhalb des Kontrollflusses verzeichnet. Der tatsächliche Kontrollfluss ist nun die Befehlsfolge während einer Ausführung des Programms.

Beispiel

Betrachtet wird der folgende Ausschnitt aus einem in C implementierten Programm:

 int i = 0;
 ... /* hier kann i irgendwo geändert werden */
 if (i == 5) 
    printf("i==5\n");
 else
    printf("i!=5\n");

Der Kontrollflussgraph sieht nun wie folgt aus:

       i=0
        .
        .
ja +- i==5? --+ nein
   |          |
"i==5\n"   "i!=5\n"

Der tatsächliche Kontrollfluss des Programms hängt nun vom konkreten Wert der Variable i zum Zeitpunkt des Erreichens der if-Anweisung ab.

Befindet sich die if-Anweisung innerhalb einer Schleife, so könnte beim erneuten Schleifendurchlauf der alternative Zweig des Kontrollflussgraphen durchlaufen werden.

Anwendung

Die Analyse des Kontrollflusses ist ein Teil der Programmanalyse. Die Anwendung des Programms auf einen Testfall führt zu einem bestimmten Kontrollfluss und kann mit dem erwarteten Kontrollfluss verglichen werden. Dadurch lassen sich potentielle Fehler durch falsche Kontrollstrukturen aufspüren. Ebenso kann eine teilweise Bewertung des Testfalles vorgenommen werden. Im optimalen Fall (sofern Schleifen vorhanden sind) sind alle im Kontrollflussgraph enthaltene Befehle auch im durch den Testfall erzeugten Kontrollfluss enthalten.

Referenzen

  • Dahl, Dijkstra und Hoare: "Structured Programming", Academic Press, 1972.
Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Kontrollfluss, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
Persönliche Werkzeuge
Andere Sprachen