[发明专利]一种基于软件网络特征学习的故障预测方法有效
申请号: | 201810455576.5 | 申请日: | 2018-05-14 |
公开(公告)号: | CN108664402B | 公开(公告)日: | 2020-05-26 |
发明(设计)人: | 艾骏;杨益文;苏文翥;王飞;郭皓然;邹卓良 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 祗志洁 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明是一种基于软件网络特征学习的故障预测方法,属于软件复杂网络领域。本发明包括:获取目标软件各版本的源代码及缺陷信息,构建软件缺陷网络;设计针对软件缺陷网络节点内部特征、局部特征、全局特征的多层结构度量元,构建缺陷预测数据集;利用最大最小化方法和PCA降维方法,对缺陷预测数据集预处理;利用动态预测门限滤波算法的预测模型优选方法建立适合此软件的最佳缺陷预测模型,并给出缺陷预测效果及得分。本发明将复杂网络技术引入到缺陷预测中,利用复杂网络度量参数设计出一套能反映缺陷在软件局部和整体特征的度量元,并能选出目标软件最适合的缺陷预测模型,对目标软件进行缺陷故障预测最大限度减低了人力和时间成本。 | ||
搜索关键词: | 一种 基于 软件 网络 特征 学习 故障 预测 方法 | ||
【主权项】:
1.一种基于软件网络特征学习的故障预测方法,首先对待分析的目标嵌入式软件,获取该软件各版本的源代码和缺陷信息;其特征在于,构建各版本的软件缺陷网络,然后进行下面步骤:(1)设计软件缺陷网络的节点内部特征、局部特征和全局特征的度量元;其中,节点内部特征的度量元包括节点内包含的函数个数Funcount、节点内部函数之间连接的个数Insidelinks、节点的入度Indegree和节点的出度Outdegree;(2)对每个软件缺陷网络,计算其中每个节点的各度量元值,构成缺陷预测数据集;(3)由上面步骤获得训练集和测试集,利用动态预测门限滤波算法的预测模型优选方法建立适合目标软件的最佳故障预测模型,然后利用得到的最佳故障预测模型对目标软件进行缺陷预测;其中,所述的利用动态预测门限滤波算法的预测模型优选方法实现包括:步骤3.1,设获得训练集L={G1,G2,…,Gm},m代表训练集中的软件缺陷网络数量,获得测试集Gt;建立初始为空集的集合L1和L2;遍历训练集L,若其中的网络Gr中没有缺陷节点,将Gr加入集合L1,否则加入集合L2;r=1,2,…,m;步骤3.2,将集合L2中所有网络按照版本从小到大排序,选择最后的K个网络构成验证版本集合VD,然后将集合L2中剩余的网络与集合L1进行合并构成新的集合H;K为正整数;步骤3.3,从集合H的每个网络中挑选出有缺陷的节点,加入训练集合T,并记录T中的节点个数count;步骤3.4,挑选出集合H中版本最大的网络,设为G’,遍历G’中的每一个节点,选出无缺陷的节点加入训练集合T,挑选的节点满足以下两个条件:(1)该节点必须在集合H的每个网络中都存在且为无缺陷节点;(2)所挑选的节点数量总共不超过q*count;其中q为正整数;步骤3.5,利用训练集T和验证版本集合VD中每个网络构建的验证集,应用不同的机器学习算法建立故障预测模型,并用AUC值作为模型评价指标;对每个验证集,不断改变各机器学习算法的阈值,直到对应所建立的故障预测模型的AUC值不再变化为止,此时记录在各验证集下每个机器学习算法取得的阈值;步骤3.6,对每一个机器学习算法,在所有K个验证集中选择最小AUC取值对应的阈值作为测试集Gt中该机器学习算法的阈值;最后从所有的故障预测模型中选取AUC值最大的作为最佳预测模型,该模型预测的结果作为最终缺陷预测的结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810455576.5/,转载请声明来源钻瓜专利网。
- 上一篇:埋点合理性的评估方法及装置
- 下一篇:一种房产交易流程回归测试方法及装置