摘要

软件缺陷预测是软件工程领域中的一个研究热点。跨项目缺陷预测(Cross-Project Defect Prediction,CPDP)采用源项目的缺陷数据来预测目标项目的缺陷倾向性。然而,源项目和目标项目的特征可能会有所不同。因此,研究人员提出了异质缺陷预测(Heterogeneous Defect Prediction,HDP)。为了提高HDP模型的性能,本文提出了一种基于特征迁移和域自适应的异质缺陷预测(Feature Transfer and Domain Adaptation,FTDA)方法。首先,FTDA使用基于相关性的特征选择算法从源项目的特征集中选择最优的特征子集。随后,使用欧氏距离进行匹配特征,并为每个目标项目选择最合适的源项目。再次,使用TCA算法解决不同项目之间的分布差异问题。最后,使用SMOTETomek算法处理类不平衡问题。为了验证FTDA方法的有效性,本文对AEEEM,PROMISE,NASA和Relink数据集中的24个项目进行了实证研究。实证研究表明,FTDA显著提高了异质缺陷预测的性能。