[发明专利]缺陷定位方法、装置和电子设备及计算机可读存储介质有效
申请号: | 202010060205.4 | 申请日: | 2020-01-19 |
公开(公告)号: | CN111258905B | 公开(公告)日: | 2023-05-23 |
发明(设计)人: | 刘逸男;陈小伟;张一寰;李斌 | 申请(专利权)人: | 中信银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/35;G06F16/31 |
代理公司: | 北京市兰台律师事务所 11354 | 代理人: | 呼先军 |
地址: | 100010 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缺陷 定位 方法 装置 电子设备 计算机 可读 存储 介质 | ||
本申请实施例提供了一种缺陷定位方法、装置和电子设备及计算机可读存储介质,该方法包括:获取待检测代码文件,以及待检测代码文件所对应的缺陷报告;基于缺陷报告中的文本信息,确定第一词向量集合;基于分层狄利克雷过程HDP模型对第一词向量集合进行处理,确定第一词向量集合中的主题向量;基于主题向量对待检测代码文件进行缺陷定位。本申请实施例提供的方案中,由于是通过HDP模型在缺陷报告的词向量集合中进行主题提取,在聚类过程中可以根据实际情况自动确定主题数目,无需人工设定主题数目,也就避免了因调整主题数目导致的重复构建LDA主题模型的过程,减少了时间的耗费,便于用户的使用。
技术领域
本申请涉及软件开发技术领域,具体而言,本申请涉及一种缺陷定位方法、装置和电子设备及计算机可读存储介质。
背景技术
软件缺陷定位是在代码执行失败时,确定缺陷所在具体位置的一种分析方法。在传统的软件开发过程中,通常是由开发人员手工调试、找到缺陷并进行修复,但这种传统的缺陷定位方法成本较高,效率较低。目前多通过自动化缺陷定位方法来进行缺陷定位,自动化缺陷定位主要包括动态定位以及静态定位。
静态定位是通过分析代码结构来定位缺陷,在静态定位的处理过程中,多会使用到隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)主题模型对数据进行分析,LDA主题模型中需要人工设定聚类数目,即需要人工设定提取出的主题数目,在实际使用中可能需要多次调整聚类数目,而当聚类数目调整时,就需要重新构建LDA主题模型,这可能会耗费大量时间,不利于用于的实际使用。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:
第一方面,本申请实施例提供了一种缺陷定位方法,该方法包括:
获取待检测代码文件,以及待检测代码文件所对应的缺陷报告;
基于缺陷报告中的文本信息,确定第一词向量集合;
基于分层狄利克雷过程(Hierarchical Dirichlet Process,HDP)模型对第一词向量集合进行处理,确定第一词向量集合中的主题向量;
基于主题向量对待检测代码文件进行缺陷定位。
可选地,基于主题向量对待检测代码文件进行缺陷定位,包括:
基于待检测代码文件确定第二词向量集合;
基于第二词向量集合中的目标向量,对待检测代码文件进行缺陷定位,目标向量与主题向量的相似度满足预设条件。
可选地,基于待检测代码文件确定第二词向量集合,包括:
构建待检测代码文件的抽象语法树;
提取抽象语法树中的目标词;
基于目标词,确定第二词向量集合。
可选地,目标词包括以下至少一项:
类名;
方法名;
变量名。
可选地,基于缺陷报告中的文本信息,确定第一词向量集合,包括:
基于缺陷报告中的缺陷描述信息,确定第一词向量集合。
可选地,基于缺陷报告中的缺陷描述信息,确定第一词向量集合,包括:
对缺陷描述信息进行断句,得到断句结果
对断句处理结果进行分词,得到分词结果;
对分词结果进行向量化处理,得到第一词向量集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中信银行股份有限公司,未经中信银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010060205.4/2.html,转载请声明来源钻瓜专利网。