[发明专利]软件设计缺陷的检测方法、装置、设备和存储介质在审
申请号: | 202210895790.9 | 申请日: | 2022-07-27 |
公开(公告)号: | CN115129612A | 公开(公告)日: | 2022-09-30 |
发明(设计)人: | 简苡霖 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62;G06N20/00 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 李慧引 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件设计 缺陷 检测 方法 装置 设备 存储 介质 | ||
1.一种软件设计缺陷的检测方法,其特征在于,包括:
训练阶段:
根据预先获取的多个具有设计缺陷的样本代码片段,确定用于缺陷检测的设计缺陷特征集;其中,所述设计缺陷特征集包括多个用于度量代码片段的度量元;
根据所述设计缺陷特征集和多个所述样本代码片段生成实验数据集;其中,所述实验数据集包括每个样本代码片段对应的基于独热编码方法生成的设计缺陷特征矢量;
利用所述实验数据集对待训练的多种机器学习算法和设计缺陷分类器进行训练;
检测阶段:
根据所述设计缺陷特征集,采用独热编码方法确定待检测代码的设计缺陷特征矢量;
利用训练后的所述多种机器学习算法处理所述待检测代码的设计缺陷特征矢量,获得所述待检测代码的输入向量;
利用所述设计缺陷分类器对所述待检测代码的输入向量进行分类,获得所述待检测代码的缺陷检测结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述设计缺陷特征集和多个所述样本代码片段生成实验数据集,包括:
根据所述设计缺陷特征集,采用独热编码方法生成每一个所述样本代码片段对应的设计缺陷特征矢量;其中,所述样本代码片段对应的设计缺陷特征矢量构成实验数据集。
3.根据权利要求1所述的方法,其特征在于,所述利用所述实验数据集对待训练的多种机器学习算法和设计缺陷分类器进行训练,包括:
重复执行如下参数更新过程,直至任意一次参数更新过程获得的误差值符合预设的收敛条件为止;
所述参数更新过程包括:
利用待训练的多种机器学习算法和设计缺陷分类器处理所述实验数据集,获得每一个所述样本代码片段的缺陷检测结果;
根据所述样本代码片段的缺陷检测结果和预先标注的所述样本代码片段的缺陷标注结果,确定待训练的多种机器学习算法和设计缺陷分类器的误差值;其中,所述误差值包括所述缺陷检测结果的偏差和方差。
4.根据权利要求1所述的方法,其特征在于,所述根据预先获取的多个具有设计缺陷的样本代码片段,确定用于缺陷检测的设计缺陷特征集,包括:
确定备选设计缺陷特征集;其中所述备选设计缺陷特征集包含多个代码片段的度量元;
以所述样本代码片段为依据,利用带有特征选择的分类器对所述备选设计缺陷特征集进行特征选择,获得设计缺陷特征集;其中,所述设计缺陷特征集包含所述备选设计缺陷特征集中的一部分度量元。
5.一种软件设计缺陷的检测装置,其特征在于,包括:
第一确定单元,用于根据预先获取的多个具有设计缺陷的样本代码片段,确定用于缺陷检测的设计缺陷特征集;其中,所述设计缺陷特征集包括多个用于度量代码片段的度量元;
生成单元,用于根据所述设计缺陷特征集和多个所述样本代码片段生成实验数据集;其中,所述实验数据集包括每个样本代码片段对应的基于独热编码方法生成的设计缺陷特征矢量;
训练单元,用于利用所述实验数据集对待训练的多种机器学习算法和设计缺陷分类器进行训练;
第二确定单元,用于根据所述设计缺陷特征集,采用独热编码方法确定待检测代码的设计缺陷特征矢量;
处理单元,用于利用训练后的所述多种机器学习算法处理所述待检测代码的设计缺陷特征矢量,获得所述待检测代码的输入向量;
分类单元,用于利用所述设计缺陷分类器对所述待检测代码的输入向量进行分类,获得所述待检测代码的缺陷检测结果。
6.根据权利要求5所述的装置,其特征在于,所述生成单元根据所述设计缺陷特征集和多个所述样本代码片段生成实验数据集时,具体用于:
根据所述设计缺陷特征集,采用独热编码方法生成每一个所述样本代码片段对应的设计缺陷特征矢量;其中,所述样本代码片段对应的设计缺陷特征矢量构成实验数据集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210895790.9/1.html,转载请声明来源钻瓜专利网。