序号

特征名称

描述

选取动机

4

NSD

变更所影响的子文件数量

变更影响的子文件越多,越有可能引入软件缺陷

5

NCD

变更所影响的代码目录数量

变更影响的代码目录越多,越有可能引入软件缺陷

6

NFD

变更的项目文件在变更发生前,子文件数量

变更的项目中子文件越多,说明变更的项目越复杂。那么此次变更越有可能在该文件中引入软件缺陷

7

NCE

变更的代码在变更相关文件中的分布(用信息熵计算)

信息熵越大,变更的代码在文件中越分散。那么对于项目开发人员的挑战越大,越有可能引入软件缺陷

8

FTF

变更所影响的子文件中,变更修改的代码数量

变更的子文件中,代码修改的越多,越有可能引入软件缺陷

9

FS

变更所影响的子文件在变更发生前后抽象语法 树的差异(使用树距离计算)

变更所引入的抽象语法树变化与引入软件缺陷有关联

10

DS

变更所影响的子文件在变更发生前后目录树的 差异(使用树距离计算)

如果变更带来了代码目录的变化,说明此次变更对项目功能进行了修改。修改越多,越有可能引入软件缺陷

11

NDE

对此变更所影响的子文件进行过变更的开发者 数量

对同一子文件进行过变更的开发者越多,越有可能对该文件引入软件缺陷

12

NFIX

对非修复缺陷变的更影响的子文件进行过修复 的变更数量

文件已知的修复越多,说明该文件越容易出现软件缺陷。那么非修复的变更越容易引入新软件缺陷

13

AGE

此次变更与影响相同子文件的上一次变更之间 的时间差

对于一个文件的修改越频繁,越有可能引入软件缺陷