软件缺陷预测在提高软件质量、控制和平衡软件成本方面起着举足轻重的作用,是软件工程的活跃领域.研究者提出了许多预测技术,从不同层面解决了不同的问题,但目前仍有些问题尚待研究:软件缺陷数据分布不均衡、误分代价差异、跨项目软件...软件缺陷预测在提高软件质量、控制和平衡软件成本方面起着举足轻重的作用,是软件工程的活跃领域.研究者提出了许多预测技术,从不同层面解决了不同的问题,但目前仍有些问题尚待研究:软件缺陷数据分布不均衡、误分代价差异、跨项目软件缺陷经验知识共享困难等.为了解决上述问题,提出一种基于迁移学习的软件缺陷预测经验共享方法,该方法在著名的迁移学习算法Tr Ada Boost基础上增加误分代价来提高有错误倾向模块的识别率,对目标软件项目数据和辅助软件项目数据采用不同的权重更新策略以区分它们对于目标软件缺陷预测的不同影响.通过对美国国家航天局软件工程项目NASA的JM1和KC2数据进行仿真实验,证明该方法在预测性能方面优于同类方法,具有预测效果良好和稳定性强的特点.实验结果表明在相近的软件开发环境下,软件开发团队之间可以有效地分享和继承丰富的软件缺陷经验,有效地提高软件产品的质量.展开更多
文摘软件缺陷预测在提高软件质量、控制和平衡软件成本方面起着举足轻重的作用,是软件工程的活跃领域.研究者提出了许多预测技术,从不同层面解决了不同的问题,但目前仍有些问题尚待研究:软件缺陷数据分布不均衡、误分代价差异、跨项目软件缺陷经验知识共享困难等.为了解决上述问题,提出一种基于迁移学习的软件缺陷预测经验共享方法,该方法在著名的迁移学习算法Tr Ada Boost基础上增加误分代价来提高有错误倾向模块的识别率,对目标软件项目数据和辅助软件项目数据采用不同的权重更新策略以区分它们对于目标软件缺陷预测的不同影响.通过对美国国家航天局软件工程项目NASA的JM1和KC2数据进行仿真实验,证明该方法在预测性能方面优于同类方法,具有预测效果良好和稳定性强的特点.实验结果表明在相近的软件开发环境下,软件开发团队之间可以有效地分享和继承丰富的软件缺陷经验,有效地提高软件产品的质量.