Privacy Policy Cookie Policy Terms and Conditions Halstead-Metrik - Wikipedia

Halstead-Metrik

aus Wikipedia, der freien Enzyklopädie

Die Halstead-Metrik gehört zu den statischen, analysierenden Verfahren der Komplexitätsmessung von Software.

Hierbei wird die Systemkomponente nicht aktiv ausgeführt (wie bei den dynamischen Verfahren), sondern gezielt Informationen über den Prüfling mit analytischen Mitteln gesammelt.

Die Halstead-Metrik behilft sich hierbei der Annahme, dass ausführbare Programmteile aus Operatoren und Operanden aufgebaut sind; Die Operatoren verändern den Zustand von Operanden.

Es werden dann für jedes Programm folgende Basismaße gebildet:

- Anzahl der verwendeten unterschiedlichen Operatoren (n1) und Operanden (n2), zusammen die Vokabulargröße n.

- Anzahl der insgesamt verwendeten Operatoren (N1) und Operanden (N2), zusammen die Implementierungslänge N.

Hieraus werden dann die Größen Halstead-Volumen (HV) und Healstead-Länge (HL) errechnet:

- HL = n1 log2 n1 - n2 log2 n2

- HV = N * log2 n

Aus den Basisgrößen kann man verschiedene Kennzahlen berechnen, z.B.:

D = (n1 * N2) / 2 n2 (D = Schwierigkeit ein Programm zu schreiben bzw. zu verstehen (z.B. bei Code-Review) )


Die Halstead-Metrik ist leicht zu ermitteln und zu berechnen, automatisierbar, für alle Programmiersprachen einsetzbar und überraschenderweise meist ein wirklich gutes Maß für die Komplexität. Der Nachteil ist, dass sie nur lexikalische / textuelle Komplexität misst.

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -