(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210173115.5
(22)申请日 2022.02.24
(71)申请人 北京工业大 学
地址 100124 北京市朝阳区平乐园10 0号
(72)发明人 张文 赵江鹏 李瑞 李健
(74)专利代理 机构 北京思海天达知识产权代理
有限公司 1 1203
专利代理师 沈波
(51)Int.Cl.
G06F 11/07(2006.01)
G06F 40/216(2020.01)
G06F 40/289(2020.01)
G06F 40/30(2020.01)
G06F 16/33(2019.01)
(54)发明名称
一种基于查询扩展的新增软件缺陷定位方
法
(57)摘要
本发明公开了一种基于查询扩展的新增软
件缺陷定位方法, 本方法对历史缺陷报告、 软件
源代码的文本内容进行自然语言处理, 采用以上
语料训练词向量模型; 通过词向量结合词项的
TF‑IDF值得到源代码中每个方法的文本向量; 计
算方法之间的语义相似度, 修改临近度和依赖紧
密度, 得到方法之间的综合关联度; 根据综合关
联度对方法的文本向量进行扩展, 得到方法的扩
展表示向量; 计算新缺陷报告的文本向量, 与所
有方法的扩展表示分别计算相似度, 选择相似度
最高的若干方法作为该缺陷报告对应的方法; 本
发明给软件开发人员和项目管理人员给出了明
确的缺陷定位信息, 减 轻了缺陷修复人员从源代
码的海量方法中查找缺陷的工作量, 提升了软件
缺陷修复的工作效率。
权利要求书2页 说明书9页 附图1页
CN 114546699 A
2022.05.27
CN 114546699 A
1.一种基于查询扩展的新增软件缺陷定位方法, 其特 征在于: 该 方法包括如下步骤:
1)从软件缺陷追踪系统中导出已提交 的历史缺陷报告数据, 对于每个缺陷报告提取其
摘要文本、 描述文本、 评论文本;
2)对历史缺陷报告的文本内容进行自然语言处理, 构建由缺陷报告文本 中各个词项组
成的缺陷报告词典, 并将缺陷报告以词袋模型表示 为向量形式;
3)从软件项目代码仓库中导出 软件源代码、 代码修改提交记录;
4)根据3)中提取到的软件源代码, 提取源代码中各个方法包含的词项及其词频, 对其
应用自然语言处理方法进行预处理, 构建由源代码中各个词项组成的源代码词典, 并将每
个方法以词袋模型表示 为向量形式;
5)根据2)得到的各个缺陷报告 的文本向量和4)中得到的各个方法中包含的词项训练
“词项‑向量”模型, 得到词典中各个词项对应的词向量;
6)根据4)中得到的每个方法的中包含的词项和词频, 计算得到每个词项在每个方法中
的TF‑IDF值, 结合5)中得到的词向量, 将方法文本转换为文本向量;
7)根据5)中得到的每个方法对应的文本向量, 计算源代码中任意两个算法之间的语义
相似度;
8)根据3)中得到的代码修改提交记录, 获取源代码中各个方法最新一次修改的时间,
并以此计算源代码中任意两个算法 之间的修改临近度;
9)根据3)中得到的软件源代码, 提取方法之间的依赖关系, 并以此计算源代码中任意
两个算法 之间的依赖紧密度;
10)根据7)中得到的语义相似度, 8)中得到的修改临近度, 9)中得到的依赖紧密度, 对
于任意一个方法而言, 找出相似度高于平均水平的若干其他方法, 并利用些相 近算方法的
文本向量, 对该 方法进行扩展, 得到该 方法的扩展表示;
11)从软件缺陷追踪系统中提取最新提交的缺陷报告, 应用与2)中相同的文本预处理
方法, 并利用5)中得到的词向量将该缺陷报告转换为文本向量;
12)计算新提交的缺陷报告的文本向量, 与所有方法的扩展表示分别计算相似度, 并选
择相似度最高的若干个方法作为该缺陷报告对应的方法。
2.根据权利要求1所述的一种基于查询扩展的新增软件缺陷定位方法, 其特征在于: 所
述缺陷报告指的是提交到软件项目缺陷报告追踪系统内的, 关于计算机软件或程序中存在
的某种破坏正常运行能力的问题、 错误, 或者隐藏的功能缺陷的描述内容, 缺陷报告由摘
要、 描述、 评论内容构成。
3.根据权利要求1所述的一种基于查询扩展的新增软件缺陷定位方法, 其特征在于: 对
缺陷报告的文本内容进 行自然语言处理, 包括英文分词、 去除停用词、 去除程序 代码保留字
符、 词干提取, 通过以上步骤得到每个软件缺陷报告中包含的词项, 并将所有缺陷报告中包
含的所有不重复的词项组成词典。
4.根据权利要求1所述的一种基于查询扩展的新增软件缺陷定位方法, 其特征在于: 所
述“词袋”模型指根据一条文本内容包 含的词项及其对应词频组成的该文本的表示形式。
5.根据权利要求1所述的一种基于查询扩展的新增软件缺陷定位方法, 其特征在于: 所
述“向量‑词项”模型指的是自然语言处理领域的一种能够保留词 与词之间的关联性和相似
性的词嵌入模型; 词嵌入模型 的基本结构是一种 轻量级的神经网络, 通过上下文预测中间权 利 要 求 书 1/2 页
2
CN 114546699 A
2词, 或通过中间词 预测上下文的训练方式, 将文本中的每个词项映射为一个指定长度的向
量。
6.根据权利要求1所述的一种基于查询扩展的新增软件缺陷定位方法, 其特征在于: 所
述“TF‑IDF值”指的是一种统计方法, 用于评估一个词项对于一个文本的重要性程度, 其中
TF是指词频, IDF是指逆文本频率指数; 一个词项在该文本中的重要程度随着它在这个文本
中出现的次数成正比增 加, 但同时会随着他在整个 语料库中出现的频率成反比下降。
7.根据权利要求1所述的一种基于查询扩展的新增软件缺陷定位方法, 其特征在于: 计
算两个方法 之间的文本语义相似度采用文本向量之间的余弦相似度。
8.根据权利要求1所述的一种基于查询扩展的新增软件缺陷定位方法, 其特征在于: 计
算两个方法之间的修改临近度, 通过两个方法最近一次修改的时间差, 除以任意两个方法
最新一次修改时间差的均值, 再通过sigmo id函数归一 化到[0,1]范围内得到 。
9.根据权利要求1所述的一种基于查询扩展的新增软件缺陷定位方法, 其特征在于: 采
用抽象语法树方法从软件源代码中提取方法之间的依赖关系, 构建方法依赖图, 根据两个
方法之间调用路径的长短计算两个方法 之间的依赖紧密度。
10.根据权利要求1所述的一种基于查询扩展的新增软件缺陷定位方法, 其特征在于:
对于每个方法, 根据它与其他方法的语义相似度、 修改临近度、 依赖紧密度, 进 行加权求和,
得到该方法与其他任意方法的综合关联度; 对所有方法对 之间的综合关联度求平均值可以
得到方法 之间的平均综合关联度;
对于每个方法而言, 选择综合关联度高于平均综合关联度的其他方法, 并通过相似度
对这些方法的文本向量加权求和对该 方法进行扩充;
对于新提交 的缺陷报告, 将其转换为向量表示后, 与所有方法经过扩充后的向量表示,
采用余弦相似度求得相似度后, 相似度越高的方法, 越有可能是该缺陷报告对应的源代码
位置。权 利 要 求 书 2/2 页
3
CN 114546699 A
3
专利 一种基于查询扩展的新增软件缺陷定位方法
文档预览
中文文档
13 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:33:28上传分享