
学号:16340181
姓名:彭伟林
计算下列代码片段的 Halstead 复杂度的11项内容:
1 |
if (month < 3) { |
| Operator | Number of Occurrences | Operand | Number of Occurrences |
|---|---|---|---|
| if | 1 | month | 3 |
| < | 1 | 3 | 1 |
| += | 1 | 12 | 1 |
| - | 1 | year | 5 |
| return | 1 | day | 1 |
| dayray | 1 | 1 | 1 |
| int | 1 | 26 | 1 |
| + | 6 | 10 | 1 |
| * | 2 | 4 | 1 |
| / | 4 | 6 | 1 |
| % | 1 | 100 | 1 |
| n1 = 11 | N1 = 20 | 400 | 1 |
| 7 | 1 | ||
| n2 = 13 | N2 =19 |
从表格得到
n1=11, N1=20; n2=13, N2=19
所以Halstead 复杂度的11项内容如下:
-
Halstead 程序词汇表长度 Program vocabulary
-
Halstead 程序长度或简单长度 Program length
-
程序的预测长度 Calculated program length
N^ = $n_1log_2n_1 + n_2log_2n_2 = 86.15946$
-
程序体积或容量 Volume
-
程序级别 Level
L^ = $frac{2}{n_1} times frac{n_2}{N_2} = 0.12440$
-
程序难度 Difficulty
-
编程工作量 Effort:
E = V x D = V/L^ = 1437.38574
-
语言级别
L’ = L^ x L^ x V = 2.76720
-
编程时间 (hours):
T^ = E/(s x f) = 0.02218
-
平均语句大小
N/语句数 = 39/4 = 9.75
-
程序中的错误数预测值




近期评论