[发明专利]一种面向缺陷定位的代码搜索方法有效
申请号: | 201811412576.3 | 申请日: | 2018-11-26 |
公开(公告)号: | CN109558166B | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 孙小兵;常建明;张庆辉 | 申请(专利权)人: | 扬州大学 |
主分类号: | G06F8/75 | 分类号: | G06F8/75;G06F8/41 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 马鲁晋 |
地址: | 226009 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 缺陷 定位 代码 搜索 方法 | ||
本发明公开了一种面向缺陷定位的代码搜索方法,包括以下步骤:首先构建软件历史库中bug报告对应的源代码文件抽象语法树;之后提取所有与bug相关的codediff文件,并将codediff文件中连续的代码修改行定义为一个chunk,建立每个codediff文件的chunk关系图;之后获取chunk关系图中每个节点的重要性分值degree;然后建立bug报告与chunk之间的关系;之后利用知识库建立工具建立bug‑chunk知识库;接着针对新的bug报告,获取新的bug报告与bug‑chunk知识库中bug报告的相似度sim;最后结合chunk的重要性分值degree和相似度sim生成chunk列表,实现缺陷的定位。本发明的处理对象以chunk为单位,面向的是一个连续代码块,不仅降低了处理数据量,且chunk本身为修改的代码行,在计算过程中更具有针对性,提高了bug定位的针对性、准确性。
技术领域
本发明属于软件维护领域,特别是一种面向缺陷定位的代码搜索方法。
背景技术
在软件开发和维护的过程中,许多项目每天要面临大量bug,例如Mozilla平均每天接收152条新的bug报告,IBM Jazz项目平均每天接收105条新的bug报告,开发维护人员需要花费大量的时间在bug定位和解决上,因此越来越多的bug定位工具被开发用来辅助开发者快速解决bug相关问题。
目前,有许多基于信息检索模型的bug定位器被广泛使用,这些检索模型有VectorSpace Model(VDM)、Latent Symantic Indexing、Latent Dirichlet Allocation(LDA)等。其中,Lukis等人运用LDA模型来进行bug定位,基于Mozilla上bug报告数据,他们使用LSI和LDA模型,在源代码的标识符和注释上构建两个分类器,使用余弦和条件概率相似性计算bug报告和源代码实体之间的相似性,进而推荐与bug报告最为相似的源代码实体。但是,该方法只是从语义和特征两方面来处理代码,代码和bug报告之间的联系局限于语义层面,这种处理方式比较依赖于分类器行为参数(例如如何处理代码、如何给主题词加权)的定义,由于参数的范围很大,很难准确决定哪些参数是否要被忽略。另外,该工作中代码处理对象是整个代码文件,巨大的数据处理数量降低了工作的针对性及准确率。
发明内容
本发明所解决的技术问题在于提供一种面向缺陷定位的代码搜索方法。
实现本发明目的的技术解决方案为:一种面向缺陷定位的代码搜索方法,包括以下步骤:
步骤1、对软件历史库中的bug报告进行自然语言预处理,并构建bug报告对应的源代码文件抽象语法树;
步骤2、提取所有与bug相关的codediff文件,并将codediff文件中连续的代码修改行定义为一个chunk;在步骤1源代码文件抽象语法树的基础上建立每个codediff文件的chunk关系图;
步骤3、遍历chunk关系图,获取chunk关系图中每个节点v的重要性分值degree,并对degree进行标准化处理;
步骤4、根据bug报告与codediff文件之间的一对多关系以及每个codediff文件的chunk关系图,建立bug报告与chunk之间的关系;
步骤5、结合步骤1的bug报告和步骤4建立的bug报告和chunk之间的关系,利用知识库建立工具建立bug-chunk知识库;
步骤6、针对新的bug报告,获取新的bug报告与bug-chunk知识库中bug报告的相似度sim;
步骤7、结合bug-chunk知识库中各个chunk的重要性分值degree和相似度sim生成chunk列表,根据chunk列表即可获取与新的bug报告中bug相关的代码,实现缺陷的定位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于扬州大学,未经扬州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811412576.3/2.html,转载请声明来源钻瓜专利网。