[发明专利]一种基于区块链溯源与信息检索的软件缺陷定位方法有效
申请号: | 202110280035.5 | 申请日: | 2021-03-16 |
公开(公告)号: | CN113051156B | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 吴晓鸰;曾志兵;凌捷 | 申请(专利权)人: | 广东工业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/27;G06F16/245 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 510090 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 溯源 信息 检索 软件 缺陷 定位 方法 | ||
本发明提供一种基于区块链溯源与信息检索的软件缺陷定位方法,包括以下步骤:将所有历史缺陷报告和对应的被修改的源代码文件保存在区块链系统的区块上;对当前新缺陷报告预处理后,构建查询语句;若区块链系统上有未搜索的区块,查询语句在区块链系统中溯源式回选n个区块进行检索;如果不存在未搜索的区块,查询语句对所有源代码文件进行检索;计算检索过程中的最终相关度分数,并对其从大到小进行排序;按照排序结果逐个检查对应的被修改的源代码文件,进行缺陷定位;缺陷定位成功后,将当前新缺陷报告和相应被修改的源代码文件打包保存进新区块,上链区块链系统,完成此次缺陷定位。本发明进行缺陷定位时,兼具效率高和精度高的优点。
技术领域
本发明涉及信息科学的技术领域,更具体地,涉及一种基于区块链溯源与信息检索的软件缺陷定位方法。
背景技术
为修复软件缺陷,开发者需要根据缺陷报告描述,确定该缺陷的源代码位置,即软件缺陷定位。软件工程领域已有基于动态程序分析与静态程序分析的缺陷定位技术帮助开发者定位缺陷。动态缺陷定位技术是指通过分析程序运行时执行行为判断缺陷位置,此类方法可以较细粒度的确定缺陷语句在被测程序内的可能位置,但需要耗费很大的运行时间成本和资源成本,且测试用例的数量和质量对缺陷定位性能影响较大。静态缺陷定位技术不需要执行测试用例,利用源代码静态分析,对比一系列编程规则,具有判断缺陷位置执行成本低、使用简单的优点。由于编程规则与程序语言相关,该方法受程序语言限制,定位粒度比较粗糙,通常定位到文件和方法级别粒度。当前静态缺陷定位研究的一类主流方法是基于信息检索的软件缺陷定位(IRBL,Information Retrieval-based Bug Localization)技术,其目的在于利用缺陷报告内容,半自动或全自动的确定相关源代码文件或函数,从而降低开发成本,提高开发效率。然而IRBL技术也存在着作为静态缺陷定位方法的不足,目前IRBL技术只能定位到方法粒度,无法定位到具体代码行,而且缺陷定位准确度受缺陷报告质量影响较大。
2013年6月26日公开的中国专利CN103176905A公开了一种缺陷关联方法,包括:从缺陷报告中提取缺陷对应的代码块,根据所提取的代码块生成缺陷相关代码块序列信息库;获取所述缺陷相关代码块序列信息库的基本频繁子序列,并消除所述基本频繁子序列中不满足约束条件的频繁子序列;依据当前频繁子序列对应的缺陷,对缺陷报告中的缺陷进行分组;根据预设的缺陷关联模式,精化分组的缺陷。该方法可以对缺陷进行精确的分组,减少部分缺陷的识别工作,提高了工作效率,但无法实现对缺陷的高精度定位。
发明内容
本发明为克服上述现有技术对软件缺陷进行定位时,无法兼具效率高和精度高的问题,提供一种基于区块链溯源与信息检索的软件缺陷定位方法,实现了对软件缺陷进行定位时,兼具效率高和精度高的优点。
为解决上述技术问题,本发明的技术方案如下:
本发明提供一种基于区块链溯源与信息检索的软件缺陷定位方法,所述方法包括以下步骤:
S1:获取历史缺陷报告和历史缺陷报告对应的被修改过的源代码文件,保存在区块链系统的区块上;
S2:向区块链系统提交当前新缺陷报告;
S3:对当前新缺陷报告进行预处理;
S4:基于预处理后的当前新缺陷报告的描述信息构建查询语句,利用查询语句对区块进行搜索;
S5:判断区块链系统上是否存在未搜索过的区块;如果存在未搜索过的区块,转入步骤S6;如果不存在未搜索过的区块,转入步骤S7;
S6:利用查询语句在区块链系统中溯源式回选n个区块进行检索;
S7:利用查询语句对所有源代码文件进行检索;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110280035.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高度可调节的拨禾装置
- 下一篇:一种用于连接管路的连接器
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置