说明:收录25万 73个行业的国家标准 支持批量下载
(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

PDF文档 专利 一种基于查询扩展的新增软件缺陷定位方法

文档预览
中文文档 13 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于查询扩展的新增软件缺陷定位方法 第 1 页 专利 一种基于查询扩展的新增软件缺陷定位方法 第 2 页 专利 一种基于查询扩展的新增软件缺陷定位方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-18 22:33:28上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。