序号 | 特征名称 | 描述 | 选取动机 |
4 | NSD | 变更所影响的子文件数量 | 变更影响的子文件越多,越有可能引入软件缺陷 |
5 | NCD | 变更所影响的代码目录数量 | 变更影响的代码目录越多,越有可能引入软件缺陷 |
6 | NFD | 变更的项目文件在变更发生前,子文件数量 | 变更的项目中子文件越多,说明变更的项目越复杂。那么此次变更越有可能在该文件中引入软件缺陷 |
7 | NCE | 变更的代码在变更相关文件中的分布(用信息熵计算) | 信息熵越大,变更的代码在文件中越分散。那么对于项目开发人员的挑战越大,越有可能引入软件缺陷 |
8 | FTF | 变更所影响的子文件中,变更修改的代码数量 | 变更的子文件中,代码修改的越多,越有可能引入软件缺陷 |
9 | FS | 变更所影响的子文件在变更发生前后抽象语法 树的差异(使用树距离计算) | 变更所引入的抽象语法树变化与引入软件缺陷有关联 |
10 | DS | 变更所影响的子文件在变更发生前后目录树的 差异(使用树距离计算) | 如果变更带来了代码目录的变化,说明此次变更对项目功能进行了修改。修改越多,越有可能引入软件缺陷 |
11 | NDE | 对此变更所影响的子文件进行过变更的开发者 数量 | 对同一子文件进行过变更的开发者越多,越有可能对该文件引入软件缺陷 |
12 | NFIX | 对非修复缺陷变的更影响的子文件进行过修复 的变更数量 | 文件已知的修复越多,说明该文件越容易出现软件缺陷。那么非修复的变更越容易引入新软件缺陷 |
13 | AGE | 此次变更与影响相同子文件的上一次变更之间 的时间差 | 对于一个文件的修改越频繁,越有可能引入软件缺陷 |