Kontrollfluss - LinkFang.de





Kontrollfluss


Der Kontrollfluss oder Programmablauf bezeichnet 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 von der sequenziellen Abarbeitung des Programms abzuweichen. Die Abarbeitungsreihenfolge der einzelnen Befehle, welche das Programm vorgibt, wird von Kontrollflussabhängigkeiten festgelegt: Ein einzelner Befehl wird entweder dann ausgeführt, wenn der unmittelbar vorhergehende Befehl abgearbeitet und der Programmzähler inkrementiert wurde oder wenn ein Sprungbefehl auf die entsprechende Stelle im Speicher zeigt und dem Programmzähler durch den Sprungbefehl ein neuer Wert zugewiesen wird. Beide Kontrollflussabhängigkeiten müssen bei der parallelen Ausführung von Befehlen des Programms berücksichtigt werden.

Grundlagen

Der geplante Ablauf eines Programmes wird durch einen sog. Programmablaufplan oder auch den Kontrollflussgraphen 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) 
   puts("i==5");
else
   puts("i!=5");

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.

Siehe auch

Literatur


Kategorien: Softwarearchitektur

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Kontrollfluss (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.