某企业采集了8个项目的代码评审数据,虽然样本数量不多,但是仍然可以发现一些规律
原始的度量数据如下,包括了代码评审发现的缺陷密度与代码评审的速度。
这2者是什么关系呢?
表一:8个项目的代码评审缺陷密度与评审速度
项目序号 | 评审缺陷密度(个/kLoc) | 评审速度(loc/小时) |
1 | 60 | 200 |
2 | 40 | 100 |
3 | 50 | 150.38 |
4 | 10.77 | 866.67 |
5 | 6 | 1857.14 |
6 | 3.03 | 3295 |
7 | 15 | 1000 |
8 | 6 | 2000 |
这2个变量的散点图如下:
图一 评审缺陷密度与评审速度的散点图
通过对上述的散点图进行观察,可以发现:
1 评审发现的缺陷密度与评审速度二者是曲线相关;
2 随着评审速度的增加,发现的缺陷越来越少。
如果对缺陷密度进行变换,令new y= 1/sqrt(评审缺陷密度),重新画散点图如图二。
图二:变换后的缺陷密度与评审速度的散点图
在图二中,变换后的y与评审速度可以进行线性回归方程的建立了,得到的方程如下:
new y = 0.1343 + 0.000138 评审速度(loc/小时)
因此,逆向推导回去:
评审的缺陷密度=1/(0.1343+0.000138*评审速度)^2