【技术实现步骤摘要】
一种基于不平衡数据集的软件测试方法及系统
[0001]本专利技术涉及计算机
,尤其是一种基于不平衡数据集的软件测试方法及系统。
技术介绍
[0002]随着软件产业的不断扩大,软件质量问题逐渐引起广泛关注,软件缺陷是威胁软件质量的最重要因素之一。软件缺陷通常源于软件工程师在编码过程中犯的错误,这通常需要大量的人力资源和时间来修复。因此,在软件开发过程中及早发现故障模块已成为一个亟待解决的问题。软件缺陷预测(SDP)是提高软件测试效率的重要工具。SDP属于不平衡问题,因为有缺陷的数据分布不均匀,有缺陷的模块比无缺陷的模块少得多。传统的机器学习方法往往以数据服从均衡分布为前提,忽略少数有缺陷的软件。
[0003]虽然日前有很多优秀的机器学习以及深度学习算法能够达到比较高分类精度,但大多机器学习算法遇到数据不均衡时性能会急速下降,往往会过多的关注多数类而忽略少数类,这是致命的,比如软件缺陷预测方面,正常的往往是多于异常的,但在测试过程中更多的是关注有异常的软件而不是正常的,如果一个分类器能够分类出所有正常的类别而不能分 ...
【技术保护点】
【技术特征摘要】
1.一种基于不平衡数据集的软件测试方法,其特征在于,包括以下步骤:获取不平衡的软件缺陷的样本数据,对所述样本数据进行预处理;根据预处理之后的样本数据的不平衡特性为所述样本数据中的数据类别设定代价敏感系数;根据包括所述代价敏感系数的样本数据训练代价敏感核宽度学习系统分类模型;通过网格搜索确定最优惩罚系数,根据所述最优惩罚系数确定训练后所述代价敏感核宽度学习系统分类模型的目标参数;根据所述目标参数构建得到目标分类模型,通过所述目标分类模型对测试实例进行分类预测,输出预测结果。2.根据权利要求1所述的一种基于不平衡数据集的软件测试方法,其特征在于,所述获取不平衡的软件缺陷的样本数据,对所述样本数据进行预处理,包括:通过所述样本数据的均值对缺失值进行填补,或者删除所述缺失值;确定进行缺失值处理之后的所述样本数据的标签,并肩编码处理后的所述标签添加至所述样本数据。3.根据权利要求1所述的一种基于不平衡数据集的软件测试方法,其特征在于,所述根据预处理之后的样本数据的不平衡特性为所述样本数据中的数据类别设定代价敏感系数,包括:根据所述样本数据的样本数量确定第一权重矩阵,根据所述第一权重矩阵确定所述数据类别的惩罚参数;根据所述惩罚参数确定所述数据类别对应的所述代价敏感系数。4.根据权利要求1所述的一种基于不平衡数据集的软件测试方法,其特征在于,所述根据包括所述代价敏感系数的样本数据训练代价敏感核宽度学习系统分类模型,包括:通过径向基核函数确定所述样本数据之间的内积矩阵,根据所述内积矩阵构建映射层,并确定所述映射层与输入层之间的第一连接权重;将所述映射层的节点作为输入,通过所述径向基核函数进行映射得到增强层,并确定所述增强层与所述映射层之间的第二连接权重;根据所述映射层、所述增强层、所述第一连接权重以及所述第二连接权重构建得到所述代价敏感核宽度学习系统分类模型。5.根据权利要求4所述的一种基于不平衡数据集的软件测试方法,其特征在于,所述内积矩阵的计算公式为:其中,Ω
i,j
表征所述内积矩阵,x
a
表征第a个样本数据的特征向量,x
b
表征第b个样本数据的特征向量,σ表征径向基核函数的参数,N为正整数。6.根据权利要求4所述的一种基于不平衡数据集的软件测试方法,其特征在于,所述根据所述映射层、所述增强层、所述第一连接权重以及所述第二连接权重构建得到所述代价敏感核宽度学习系统分类模型,包括:...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。