stringtranslate.com

Medidas de complejidad de Halstead

Las medidas de complejidad de Halstead son métricas de software introducidas por Maurice Howard Halstead en 1977 [1] como parte de su tratado sobre el establecimiento de una ciencia empírica del desarrollo de software. Halstead hizo la observación de que las métricas del software deberían reflejar la implementación o expresión de algoritmos en diferentes lenguajes, pero ser independientes de su ejecución en una plataforma específica. Por lo tanto, estas métricas se calculan estáticamente a partir del código.

El objetivo de Halstead era identificar propiedades mensurables del software y las relaciones entre ellas. Esto es similar a la identificación de propiedades mensurables de la materia (como el volumen, la masa y la presión de un gas) y las relaciones entre ellas (análoga a la ecuación de los gases ). Por lo tanto, sus métricas en realidad no son solo métricas de complejidad.

Cálculo

Para un problema dado, sea:

A partir de estos números se pueden calcular varias medidas:

La medida de dificultad está relacionada con la dificultad del programa para escribir o comprender, por ejemplo, cuando se realiza una revisión de código .

La medida del esfuerzo se traduce en tiempo de codificación real utilizando la siguiente relación:

Los errores entregados por Halstead (B) son una estimación del número de errores en la implementación.

Ejemplo

Considere el siguiente programa en C :

principal () { int a , b , c , promedio ; scanf ( "%d %d %d" , &a a , & b , & c ); promedio = ( a + b + c ) / 3 ; printf ( "promedio = %d" , promedio ); }              

Los operadores distintos ( ) son: , , , , , , , , , , ,main(){}intscanf&=+/printf,;

Los operandos distintos ( ) son: , , , , , ,abcavg"%d %d %d"3"avg = %d"

Véase también

Referencias

  1. ^ ab Halstead, Maurice H. (1977). Elementos de la ciencia del software . Ámsterdam: Elsevier North-Holland, Inc. ISBN 0-444-00205-7.

Enlaces externos