McCabe-Metrik
aus Wikipedia, der freien Enzyklopädie
Die McCabe-Metrik (auch zyklomatische Komplexität - cyclomatic complexity) ist eine Software-Metrik, mit der die Komplexität eines Software-Moduls gemessen werden kann.
Hinter der Software-Metrik von McCabe steckt der Gedanke, dass ab einer bestimmten Komplexität das Modul für den Menschen nicht mehr begreifbar ist. Er definiert seine cyclomatic complexity auf dem Kontrollflussgraphen eines Moduls. Einfach ausgedrückt ist das Komplexitätsmaß nach McCabe gleich der Anzahl der binären Verzweigungen plus 1.
Die so ermittelte McCabe-Zahl ist ein Maß für die Komplexität des Kontrollflusses eines Programms (Funktion, Prozedur oder Stück Code). Hat man den Kontrollflussgraphen, so ist McCabe definiert als M = e - n + 2p oder M = b + 1 mit
- e: Anzahl Kanten im Graphen
- n: Anzahl Knoten im Graphen
- p: Anzahl der Teilgraphen
- b: Anzahl Binärverzweigungen, also bedingte Anweisungen mit genau zwei Zweigen, z. B.
IF
-Anweisungen.
M ist eine untere Schranke für die Anzahl der möglichen Wege durch ein Programm.
M ist außerdem eine obere Schranke für die Anzahl der Testfälle, die nötig sind, um eine vollständige Kantenabdeckung des Kontrollflussgraphen zu erreichen.
[Bearbeiten] Literatur
- T. J. McCabe: A Complexity Measurement. in: IEEE Transactions on Software Engineering, Band SE-2, 308-320. 1976.