软件缺陷预测模型超参数的稳健优化方法
2021-05-19崔军丁浩杰王瑞波李济洪
山西大学学报(自然科学版) 2021年2期
崔军,丁浩杰,王瑞波,李济洪
(1.山西大学 计算机与信息技术学院,山西 太原 030006;2.山西大学 现代教育技术学院,山西 太原 030006)
0 引言
作为软件工程领域的主要任务之一,软件缺陷预测的主要目的是利用机器学习方法预测出当前开发的软件中的缺陷模块,为后续的高效测试提供重要基础[1-6]。软件缺陷预测任务主要分为两个子任务:(1)跨版本预测子任务:指使用软件项目的历史版本数据构建预测模型,来预测当前版本中的缺陷模块;(2)跨项目预测子任务:指使用其他软件项目的源代码构建模型来预测当前项目的缺陷模块。当软件项目的历史版本数据充足时,子任务(1)所构建的软件缺陷预测模型常被使用。不过,很多软件项目在开发初期,不具备充足的历史版本数据。此时,子任务(2)所构建的预测模型常被用来预测项目中的缺陷模块。本文的研究涵盖了这两个子任务。
在软件缺陷预测任务中,机器学习算法被广泛用于建模过程。所构建的软件缺陷预测模型的性能不仅依赖于机器学习算法的类型,也依赖于机器学习算法中超参数的设置[7-8]。目前,包含支持向量机[1-2],随机森林[3],神经网络[4-5]等在内的主流机器学习算法已在软件缺陷预测任务中被深入探讨。其中,基于集成学习的软件缺陷预测模型[9-13]取得了不错的性能。具体地,通过对软件缺陷预测数据进行多次重抽样,多个训练样本集可以被获得。进而,支持向量机等主流分类算法被应用在多个训练样本集上,生成多个软件缺陷预测模型。……
登录APP查看全文