论文部分内容阅读
检测软件系统中潜在的缺陷往往相当困难并且需要花费高昂的代价。为缓解此问题,人们试图使用缺陷预测模型来识别一个软件系统中包含潜在缺陷的模块。近年来,研究者主要利用两种类型的度量来建立缺陷预测模型:代码度量(代码规模和复杂度等)和过程度量(开发者数量和历史修改次数等)。许多研究结果表明,过程度量通常比代码度量具有更好的缺陷预测性能,其原因在于过程度量考虑了开发者的行为而代码度量只考虑代码自身的结构特性。在软件工程领域,开发者的行为已被公认对软件质量有着重要的影响。特别地,最近的一些研究表明,那些考虑开发者经验(即开发者所贡献代码量的百分比)的过程度量表现出很好的缺陷预测能力。然而,直觉上对软件质量有重要影响的开发者质量在现有过程度量中却出乎意料地被忽视了。为探明开发质量信息在缺陷预测中的效用,本文首先通过开发者的历史缺陷引入百分比来量化开发者质量,然后利用量化后的开发者质量信息定义用来刻画文件质量的八种文件质量度量,最后通过实验分析这八种文件质量度量在缺陷预测中的有效性。在多个开源软件系统上的实验结果表明:(1)这些文件质量度量捕获了现有过程度量所未能捕获的软件开发过程信息;(2)大部分文件质量度量和软件缺陷以期望的方向显著相关;(3)这些文件质量度量与现有过程度量的组合通常能够显著地提升缺陷预测的性能。本文的实验结果证实了开发者质量对软件质量有着重要的影响,因此在进行软件缺陷预测时应该考虑开发者质量信息。