Ciklomatikus komplexitás
A ciklomatikus komplexitás egy szoftvermetrika, melyet Thomas J. McCabe publikált 1976-ban. Alkotója után gyakran McCabe-komplexitásnak is nevezik. A metrika egy adott szoftver forráskódjának alapján határozza meg annak komplexitását, egy konkrét számértékben kifejezve. A komplexitás számítása a gráfelméletre alapul. A forráskódban az elágazásokból felépülő gráf pontjai, és a köztük lévő élek alapján számítható az alábbi módon:
A ciklomatikus (McCabe) komplexitás értéke:
- M = E − N + 2P
ahol
- E: A gráf éleinek száma
- N: A gráfban lévő csúcsok száma
- P: Az összefüggő komponensek száma
A ciklomatikus szám: M = E − N + P
A fenti két érték közötti kapcsolat, hogy a ciklomatikus komplexitás, a gráf ciklomatikus száma, mely a lehetséges kimeneteket köti össze a megfelelő bemenetekkel.
Átfogalmazva szoftverekre: a gráfot az adott függvényben lévő utasítások alkotják, él akkor van 2 utasítás között, ha az egyik után a másik azonnal végrehajtódhat, így a metrika közvetlenül számolja a lineárisan független útvonalakat a forráskódon keresztül.
Külső hivatkozások
[szerkesztés]- Thomas J. McCabe: A Complexity Measure IEEE Transactions on Software Engineering Vol. 2, No. 4, p. 308 (1976) [1]