Ciklomatikus komplexitás

A Wikipédiából, a szabad enciklopédiából

A ciklomatikus komplexitás egy szoftver metrika, 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 | forrásszöveg szerkesztése]

  • Thomas J. McCabe: A Complexity Measure IEEE Transactions on Software Engineering Vol. 2, No. 4, p. 308 (1976) [1]