[发明专利]软件缺陷预测方法和系统有效
申请号: | 201510247157.9 | 申请日: | 2015-05-14 |
公开(公告)号: | CN104899135B | 公开(公告)日: | 2017-10-20 |
发明(设计)人: | 杨春晖;熊婧;高岩;林军;李冬 | 申请(专利权)人: | 工业和信息化部电子第五研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州华进联合专利商标代理有限公司44224 | 代理人: | 王程 |
地址: | 510610 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 缺陷 预测 方法 系统 | ||
技术领域
本发明涉及软件安全技术领域,特别是涉及一种软件缺陷预测方法和系统。
背景技术
随着信息技术的发展,软件复杂程度不断提高、软件规模不断增大,良好的软件质量控制和预测机制不但可以帮助企业开发出高质量的软件产品,减少产品生产和维护成本,而且在提高客户满意度,建立良好的企业形象和增强企业在市场上的竞争力等方面都有着重要的意义。因此软件质量越来越受重视,如何预测软件质量及提高软件质量成为当今研究的热点之一。
传统的软件缺陷预测方法采用基于机器学习的软件缺陷预测模型,该模型以软件模块的度量数据向量作为输入,通过预处理、特征提取、模型训练和预测等步骤,实现对软件模块是否存在缺陷进行预测。该模型由于其性能的评价准则、归纳偏置等内在问题,对软件有缺陷模块和软件无缺陷模块同等处理,以总体最大预测精度作为目标,但对软件缺陷的检出率仍然不高。因此,传统的软件缺陷预测方法存在预测准确度低的缺点。
发明内容
基于此,有必要针对上述问题,提供一种预测准确度高的软件缺陷预测方法和系统。
一种软件缺陷预测方法,包括以下步骤:
获取样本软件模块并进行聚类处理,得到聚类子集;
计算所述聚类子集的高斯参数,并根据所述高斯参数生成伪缺陷样本;
根据所述软件缺陷样本集和伪缺陷样本得到更新缺陷样本集;
根据所述更新缺陷样本集进行训练得到缺陷预测模型;
根据所述缺陷预测模型对待测软件模块进行缺陷预测,并输出预测结果。
一种软件缺陷预测系统,包括:
聚类模块,用于获取样本软件模块并进行聚类处理,得到聚类子集;
计算模块,用于计算所述聚类子集的高斯参数,并根据所述高斯参数生成伪缺陷样本;
更新模块,用于根据所述软件缺陷样本集和伪缺陷样本得到更新缺陷样本集;
训练模块,用于根据所述更新缺陷样本集进行训练得到缺陷预测模型;
预测模块,用于根据所述缺陷预测模型对待测软件模块进行缺陷预测,并输出预测结果。
上述软件缺陷预测方法和系统,获取样本软件模块并进行聚类处理,得到聚类子集。计算聚类子集的高斯参数,并根据高斯参数生成伪缺陷样本,根据软件缺陷样本集和伪缺陷样本得到更新缺陷样本集。根据更新缺陷样本集进行训练得到缺陷预测模型,根据缺陷预测模型对待测软件模块进行缺陷预测并输出预测结果。对样本软件模块采用聚类的方式形成聚类子集,对聚类子集进行高斯分析计算得到高斯参数,然后根据高斯参数生成伪缺陷样本。通过增加更多的缺陷数据生成更新缺陷样本集进行训练,提高缺陷预测模型的准确度,使缺陷预测模型能够更好的对缺陷数据进行估计和拟合,提高了对软件缺陷的预测准确性。
附图说明
图1为一实施例中软件缺陷预测方法的流程图;
图2为一实施例中获取样本软件模块并进行聚类处理,得到聚类子集的流程图;
图3为一实施例中分别以各样本向量为起点,获取样本向量的中心点的流程图;
图4为一实施例中计算聚类子集的高斯参数,并根据高斯参数生成伪缺陷样本的流程图;
图5为一实施例中根据所述缺陷预测模型对待测软件模块进行缺陷预测的流程图;
图6为另一实施例中软件缺陷预测方法的流程图;
图7为一实施例中软件缺陷预测系统的结构图;
图8为一实施例中聚类模块的结构图;
图9为一实施例中中心点计算单元的结构图;
图10为一实施例中计算模块的结构图;
图11为一实施例中预测模块的结构图;
图12为另一实施例中软件缺陷预测系统的结构图。
具体实施方式
一种软件缺陷预测方法,如图1所示,包括以下步骤:
步骤S110:获取样本软件模块并进行聚类处理,得到聚类子集。样本软件模块指已知是否存在缺陷的软件模块,通过聚类处理对样本软件模块进行分类,得到聚类子集。在其中一个实施例中,如图2所示,步骤S110包括步骤S112至步骤S118。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于工业和信息化部电子第五研究所,未经工业和信息化部电子第五研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510247157.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种移动终端组件的测试方法
- 下一篇:一种基于线程池的任务分配方法