Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Kontrollfluss

Der Kontrollfluss oder Programmablauf bezeichnet in der Informatik die zeitliche Abfolge der einzelnen Befehle eines Computerprogramms.

Inhalt4 Abschnitte
  1. 1. Begriff und Funktionsweise
  2. 2. Geplanter und tatsächlicher Ablauf
  3. 3. Verzweigung als Beispiel
  4. 4. Analyse und Tests

Begriff und Funktionsweise

Der Kontrollfluss, auch Programmablauf genannt, ist die zeitliche Abfolge der einzelnen Befehle eines Computerprogramms. Normalerweise werden die Befehle in der Reihenfolge ausgeführt, in der sie im Programm stehen. Kontrollstrukturen wie Verzweigungen und Schleifen können jedoch von dieser sequenziellen Abarbeitung abweichen.

Welche Anweisung als Nächstes ausgeführt wird, bestimmen Kontrollflussabhängigkeiten: Entweder ist der unmittelbar vorhergehende Befehl beendet und der Programmzähler wird erhöht, oder ein Sprungbefehl weist dem Programmzähler einen neuen Wert zu und verweist dadurch auf eine andere Stelle im Speicher. Bei der parallelen Ausführung von Programmbefehlen müssen beide Arten von Kontrollflussabhängigkeiten berücksichtigt werden.

Geplanter und tatsächlicher Ablauf

Der geplante Ablauf eines Programms lässt sich durch einen Programmablaufplan oder Kontrollflussgraphen darstellen. Dieser enthält alle möglichen Verzweigungen des Kontrollflusses.

Davon zu unterscheiden ist der tatsächliche Kontrollfluss. Er bezeichnet genau die Befehlsfolge, die bei einer bestimmten Ausführung des Programms wirklich durchlaufen wird. Welcher der möglichen Wege gewählt wird, hängt unter anderem von den aktuellen Werten der Variablen ab.

Verzweigung als Beispiel

Im Beispiel wird die Variable i zunächst mit 0 initialisiert, kann danach aber noch verändert werden. Eine if-Anweisung prüft anschließend die Bedingung i == 5. Ist sie erfüllt, gibt das Programm „i==5“ aus; andernfalls wird „i!=5“ ausgegeben.

Der Kontrollflussgraph enthält beide möglichen Zweige, während der tatsächliche Kontrollfluss nur denjenigen Zweig umfasst, der zum konkreten Wert von i beim Erreichen der if-Anweisung passt. Liegt die if-Anweisung innerhalb einer Schleife, kann bei einem späteren Schleifendurchlauf der jeweils andere Zweig durchlaufen werden.

Analyse und Tests

Die Kontrollflussanalyse ist ein Teil der Programmanalyse. Wird das Programm mit einem Testfall ausgeführt, entsteht ein bestimmter tatsächlicher Kontrollfluss. Dieser kann mit dem erwarteten Ablauf verglichen werden, um mögliche Fehler in den Kontrollstrukturen aufzuspüren.

Der ermittelte Kontrollfluss erlaubt außerdem eine teilweise Bewertung der Qualität eines Testfalls. Im optimalen Fall sind alle Befehle des Kontrollflussgraphen auch im durch den Testfall erzeugten Kontrollfluss enthalten. Bei Programmen mit Schleifen kann dafür mehr als ein Schleifendurchlauf erforderlich sein.

Weiterlesen