一种特征转移和域自适应的异质缺陷预测方法
2022-01-21虞慧群杨星光
小型微型计算机系统 2022年1期
黄 燕,徐 贤,虞慧群,杨星光
(华东理工大学 信息科学与工程系,上海 200237)
1 引 言
随着软件规模和软件复杂性的增加,发布高质量的软件系统是一个巨大的挑战.软件质量保证活动(例如软件测试,代码审查)是提高软件质量的有效方法.然而,在测试资源和软件发布时间的限制下,对所有程序模块进行质量保证活动通常是不现实的[1].
为此,研究人员提出了软件缺陷预测方法[2,3].软件缺陷预测通过挖掘软件的历史仓库,设计出与缺陷相关的内在度量元,然后借助机器学习等方法提前发现并锁定缺陷模块,从而能够合理地分配有限的资源[2].传统的软件缺陷预测是在项目内执行的,称为同项目缺陷预测(Within-Project Defect Prediction,WPDP)[2].然而,目标项目可能是新启动的软件系统,因此缺少足够训练数据.跨项目缺陷预测(Cross-Project Defect Project,CPDP)方法[4]是解决该问题的有效方法.它采用其他项目(源项目)的缺陷数据集来构建预测模型,并对目标项目进行缺陷预测.在CPDP中,需要源项目与目标项目有相同的特征集.然而,在实际情况中,由于不同项目使用的编程语言、适用的领域、开发人员的经验等差异[5],源项目和目标项目之间的度量元可能存在较大差异,此时若直接使用传统的CPDP方法,不能取得较好的预测性能.为此,研究者们提出了异质缺陷预测(Heterogeneous Defect Prediction,HDP)[6,7]方法.
当前,为了提高HDP性能,研究人员提出了多种方法,如HDP[6,8]、FMT[9]等.这些方法都是从特征匹配的角度出发解决异质问题,然而并没有考虑数据本身存在的分布差……
登录APP查看全文
