【技术实现步骤摘要】
基于不平衡噪声集的多特征软件缺陷综合预测方法
本专利技术涉及软件缺陷预测及软件可靠性
,特别涉及基于不平衡噪声集的多特征软件缺陷综合预测方法。
技术介绍
21世纪以来,软件在社会生活中的地位日益提升,无处不在,已经不仅仅局限于工程、科研、经济等专业领域,更是走进了千家万户,成为了人们生活中举足轻重的工具。随着软件系统规模日益增加,复杂程度呈几何式提升,软件的缺陷也与日俱增,而软件缺陷也影响到了人民生活的方方面面。软件缺陷数据是软件可靠性相关研究和应用的基础。长期以来,软件可靠性领域使用的缺陷数据主要来自于有限的软件测试数据和使用中故障的分析数据。虽然这类缺陷数据相对完整,但是缺陷数据量太少、覆盖面不足、涉及软件类型有限,已经成为了软件可靠性研究和应用的瓶颈。在软件的全寿命周期当中,如何提高软件的质量,对软件的缺陷进行识别和修复已经成为一个重要的研究命题。由于相当一部分的软件缺陷有其独有特征,根据历史缺陷信息,可以提取出相应的软件缺陷特征,在出现软件失效之前尽早地识别软件可能存在的影响其可靠性、安全性、可用性、兼容性等软件质量特性的缺陷模块,从而达到缺陷预测和预防的效果。随着机器学习技术和深度学习技术的出现和不断推进,软件缺陷预测技术从一开始的人工学习为主逐步转向以机器学习作为重要工具。由于学习能力和数据处理能力的大幅度提高,学习更加庞大的软件缺陷数据集,从而利用机器学习中的关联规则、分类器算法、聚类算法等对软件的缺陷特征进行分析和预测成为了主流趋势。如何抽象和特征化软件缺陷是运用
【技术保护点】
1.基于不平衡噪声集的多特征软件缺陷综合预测方法,其特征在于,包括以下步骤:/n步骤S1、从目标软件的历史版本中提取代码特征、开发过程特征和网络结构特征,构建初始数据集;/n步骤S2、对初始数据集实施欠采样,去除部分重复的无缺陷样本,得到欠采样数据集;/n步骤S3、使用倾向得分匹配方法为欠采样数据集中的每个样本计算倾向性得分,作为该样本的一个附加特征加入欠采样数据集中,得到倾向性得分数据集;/n步骤S4、对倾向性得分数据集中的每个样本寻找k最近邻样本,并根据该样本的k最近邻样本集中的异类样本的数量进行噪声判别和去除,得到降噪后的数据集;/n步骤S5、计算降噪后的数据集的类不平衡系数,根据类不平衡系数对降噪后的数据集中的每个少数类样本及其k最近邻样本集实施综合少数类过采样技术,合成新的少数类样本,得到类平衡降噪的数据集;/n步骤S6、构建基于交叉验证打分的软件缺陷预测模型,对目标软件的新版本进行缺陷预测。/n
【技术特征摘要】
1.基于不平衡噪声集的多特征软件缺陷综合预测方法,其特征在于,包括以下步骤:
步骤S1、从目标软件的历史版本中提取代码特征、开发过程特征和网络结构特征,构建初始数据集;
步骤S2、对初始数据集实施欠采样,去除部分重复的无缺陷样本,得到欠采样数据集;
步骤S3、使用倾向得分匹配方法为欠采样数据集中的每个样本计算倾向性得分,作为该样本的一个附加特征加入欠采样数据集中,得到倾向性得分数据集;
步骤S4、对倾向性得分数据集中的每个样本寻找k最近邻样本,并根据该样本的k最近邻样本集中的异类样本的数量进行噪声判别和去除,得到降噪后的数据集;
步骤S5、计算降噪后的数据集的类不平衡系数,根据类不平衡系数对降噪后的数据集中的每个少数类样本及其k最近邻样本集实施综合少数类过采样技术,合成新的少数类样本,得到类平衡降噪的数据集;
步骤S6、构建基于交叉验证打分的软件缺陷预测模型,对目标软件的新版本进行缺陷预测。
2.根据权利要求1所述的基于不平衡噪声集的多特征软件缺陷综合预测方法,其特征在于,所述的步骤S1包括:
步骤S101、对目标软件的历史版本进行代码扫描与代码特征提取;
步骤S102、对目标软件的开发历史分析和开发过程特征提取;
步骤S103、构建目标软件的网络模型和计算网络结构特征;
步骤S104、构建包含代码特征、开发过程特征和网络结构特征的初始数据集。
3.根据权利要求1所述的基于不平衡噪声集的多特征软件缺陷综合预测方法,其特征在于,所述的步骤S2包括:
步骤S201、设定欠采样参数;
步骤S202、采集非重复无缺陷样本集;
步骤S203、采集含缺陷样本集;
步骤S204、平衡非重复无缺陷样本集与含缺陷样本集,形成平衡后的无缺陷样本集和含缺陷样本集;
步骤S205、将平衡后的无缺陷样本集与含缺陷样本集合并成为欠采样数据集。
4.根据权利要求3所述的基于不平衡噪声集的多特征软件缺陷综合预测方法,其特征在于,所述的步骤S204中平衡非重复无缺陷样本集与含缺陷样本集具体为:计算非重复无缺陷样本集与含缺陷样本集的样本数比例r,如果r≥欠采样参数,则进入步骤S205;否则随机抽取重复的无缺陷样本加入非重复无缺陷样本集中,直至满足r≥欠采样参数,进入步骤S205。
5.根据权利要求1所述的基于不平衡噪声集的多特征软件缺陷综合预测方法,其特征在于,所述的步骤S3包括:
步骤S301、输入欠采样数据集;
步骤S302、定义一个m维权重向量,定义一个常数向量并进行极小初始化;
步骤303、求解权重向量;
步骤304、使用权重向量,结合每个样本的特征向量代入Logistic函数,求解得到每个样本的倾向性得分;
步骤S305、将每个样本的倾向性得分作为该样本的附加特征值加入欠采样数据集,得到倾向性得分数据集。
6.根据权利要求1所述的基于不平衡噪声集的多特征软件缺陷综合预测方法,其特...
【专利技术属性】
技术研发人员:严亮,许嘉熙,艾骏,
申请(专利权)人:北京高质系统科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。