(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211512741.9
(22)申请日 2022.11.30
(71)申请人 北京航空航天大 学
地址 100191 北京市海淀区学院路37号
(72)发明人 武文韬 王世海 刘斌 李浩然
杨勋利 房新悦 朱文婧 施腾飞
刘宇 郭书頔
(74)专利代理 机构 北京天达知识产权代理事务
所有限公司 1 1386
专利代理师 侯永帅
(51)Int.Cl.
G06K 9/62(2022.01)
G06F 11/36(2006.01)
(54)发明名称
一种软件缺陷关联规则网络剪枝方法及系
统
(57)摘要
本发明涉及一种软件缺陷关联规则网络剪
枝方法及系统, 属于软件缺陷预测技术领域, 解
决了现有关联规则网络未考虑有无缺陷的双目
标且关联规则存在冗余的问题。 包括读取软件缺
陷数据集, 基于关联规则算法生成初始关联规则
集合; 基于初始关联规则集合, 构建以有缺陷标
签和无缺陷标签作为目标节点的反向超图, 以及
有缺陷字典和无缺陷字典; 获取同时存在于两个
字典的节点, 在反向超图中去除节点的冗余边,
更新字典中节点层级, 得到关联规则网络; 基于
社区发现算法, 根据字典中节点层级, 对关联规
则网络聚类得到多个社区; 分别根据社区中的缺
陷标签和节 点所属字典, 从多个社区中提取出用
于软件缺陷预测的关联规则。 实现了软件缺陷关
联规则的准确提取。
权利要求书2页 说明书8页 附图1页
CN 115545125 A
2022.12.30
CN 115545125 A
1.一种软件缺陷关联规则网络 剪枝方法, 其特 征在于, 包括如下步骤:
读取软件缺陷数据集, 基于关联规则算法生成初始关联规则集 合;
基于初始关联规则集合, 构建 以有缺陷标签和无缺陷标签作为目标节点的反向超图,
以及有缺陷字典和无缺陷字典; 获取同时存在于两个字典的节点, 在反向超图中去除所述
节点的冗余 边, 更新字典中节点层级, 得到关联规则网络;
基于社区发现算法, 根据字典中节点层级, 对关联规则网络聚类得到多个社区; 分别根
据社区中的缺陷标签和社区中节点所属字典, 从多个社区中提取出用于软件缺陷预测的关
联规则。
2.根据权利要求1所述的软件缺陷关联规则网络剪枝方法, 其特征在于, 所述读取软件
缺陷数据集, 基于关联规则算法生 成初始关联规则集合, 包括: 以软件缺陷数据集中每条数
据进行离散化处理并转换为一条事务性数据, 将 每条数据中的软件缺陷度量元和缺陷标签
作为项, 基于Apriori算法生成频繁2项集, 根据预置的最小支持度和最小置信度, 从频繁2
项集中生成不带有缺陷标签的关联规则, 及后件是缺陷标签的关联规则, 放入初始关联规
则集合中; 所述 缺陷标签包括有缺陷标签和无缺陷标签。
3.根据权利要求2所述的软件缺陷关联规则网络剪枝方法, 其特征在于, 所述基于初始
关联规则集合, 构建以有缺陷标签和无缺陷标签作为 目标节点的反向超图, 以及有缺陷字
典和无缺陷字典, 包括:
从初始关联规则集 合中获取不带有缺陷标签的关联规则作为第一 规则集合;
从初始关联规则集合中, 将所有后件是有缺陷标签的关联规则的后件作为第 一目标节
点, 将所有后件是无缺陷标签的关联规则的后件作为第二 目标节点, 对每一 目标节点执行
如下操作:
S21、 取出目标节点对应的前件作为下一层级节点;
S22、 以下一层级节点作为关联规则的后件, 从第一规则集合中获取对应的前件作为下
一层级节点, 重复步骤S2 2, 直至无法从第一 规则集合中获取到前件;
S23、 从目标节点开始按照关联规则逐层在后件和对应的前件之间添加超边, 层级从0
开始逐层递增1; 根据各层级节点所流向的目标节点, 将各层级节点及其层级存储在 对应的
有缺陷字典和/或无缺陷字典中。
4.根据权利要求3所述的软件缺陷关联规则网络剪枝方法, 其特征在于, 所述获取同时
存在于两个字典的节点, 在反向超图中去除所述节点的冗余 边, 包括:
依次取出同时存在于两个字典中的节点, 如果当前节点在两个字典中的层级不同, 则
在最大层级对应的字典中, 去除当前节点数据及其层级, 并在反向超图中从当前节点流向
最大层级对应的目标节点的路径上, 去除当前节点与相邻节点间的边; 如果当前节点在两
个字典中的层级相同, 则在两个字典中删除当前节点数据及其层级, 并在反向超图中删除
当前节点及其相邻边。
5.根据权利要求4所述的软件缺陷关联规则网络剪枝方法, 其特征在于, 所述更新字典
中节点层级, 包括:
依次从反 向超图中两个目标节点开始遍历, 获取反 向超图中各节点到对应的目标节点
的最短距离, 并识别各节点的最短距离与其在 对应的字典中的层级 是否一致, 如果不一致,
以节点的最短距离作为 新的层级更新至对应字典中。权 利 要 求 书 1/2 页
2
CN 115545125 A
26.根据权利要求5所述的软件缺陷关联规则网络剪枝方法, 其特征在于, 所述基于社区
发现算法, 根据字典中节点层级, 对关联规则网络聚类得到多个社区, 包括:
S31、 以关联规则网络中每 个节点作为独立的社区;
S32、 按照两个字典中节点层级, 从小到大对节点进行排序;
S33、 按顺序依次对每个节点执行如下步骤: 以当前节点与各相邻节点对应的关联规则
的相关性作为边权重, 依 次将当前节点分配到各相邻节点所属社区, 根据边权重计算对应
的模块度增益 值, 并根据模块度增益 值确定当前节点 最终所要分配的社区;
S34、 重复步骤S3 3, 直至每 个节点所属社区不再变化;
S35、 将属于同一个社区的节点压缩成一个新节点, 以相邻新节点中所有关联规则的相
关性之和作为新节 点间的边权重, 重复步骤S 33至步骤S 34, 直至各社区的模块度不再变化,
得到多个社区。
7.根据权利要求6所述的软件缺陷关联规则网络剪枝方法, 其特征在于, 所述关联规则
的相关性采用皮尔逊相关系数计算得到, 所述社区发现算法采用L ouvain算法。
8.根据权利要求6所述的软件缺陷关联规则网络剪枝方法, 其特征在于, 所述分别根据
社区中的缺陷标签和社区中节点所属字典, 从多个社区中提取出用于软件缺陷预测的关联
规则, 包括:
如果社区中存在有缺陷标签/无缺陷标签, 则将社区中所有边对应的关联规则, 加入与
缺陷标签对应的用于预测软件有缺陷/无缺陷的关联规则中;
如果社区中所有节点仅存在于有缺陷字典/无缺陷字典, 则将社区中所有边对应的关
联规则, 加入与字典类型对应的用于预测软件有缺陷/无缺陷的关联规则中;
去除剩余社区及其中所有边对应的关联规则。
9.根据权利要求8所述的软件缺陷关联规则网络剪枝方法, 其特征在于, 使用所述用于
软件缺陷预测的关联规则时, 根据待预测的软件模块中软件缺陷度量元数据, 分别与用于
预测软件有缺陷的关联规则和用于预测软件无缺陷的关联规则进 行匹配, 将 被匹配的关联
规则的提升度累加入对应的预测有缺陷或无缺陷决策器; 根据最大值对应的决策器, 得到
待预测的软件 模块的缺陷预测结果。
10.一种软件缺陷关联规则网络 剪枝系统, 其特 征在于, 包括:
初始规则生成模块, 用于读取软件缺陷数据集, 基于关联规则算法生成初始关联规则
集合;
规则网络构建模块, 用于基于初始关联规则集合, 构建 以有缺陷标签和无缺陷标签作
为目标节点的反向超图, 以及有缺陷字典和无缺陷字典; 获取同时存在于两个字典的节点,
在反向超图中去除所述节点的冗余 边, 更新字典中节点层级, 得到关联规则网络;
规则网络剪枝模块, 用于基于社区发现算法, 根据字典中节点层级, 对关联规则网络聚
类得到多个社区; 分别根据社区中的缺陷标签和社区中节点所属字典, 从多个社区中提取
出用于软件缺陷预测的关联规则。权 利 要 求 书 2/2 页
3
CN 115545125 A
3
专利 一种软件缺陷关联规则网络剪枝方法及系统
文档预览
中文文档
12 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 07:13:53上传分享