一种基于知识图谱的FPGA代码缺陷检测方法技术

技术编号:38524063 阅读:12 留言:0更新日期:2023-08-19 17:01
本发明专利技术涉及一种基于知识图谱的FPGA代码缺陷检测方法,属于FPGA验证技术领域。相比于传统的FPFA代码缺陷检测方法,本发明专利技术的方法具有以下的优势:1、增加代码缺陷检出率。利用被测代码的软件类型、模块功能、违反规则等信息即可根据先验知识,通过知识图谱自动为测试人员推荐相应的可疑缺陷,可以提高测试人员的缺陷检测能力,从而增加代码缺陷的检出率。2、解释性强,可视化程度高。构建的FPGA代码缺陷知识图谱以图结构的形式存储FPGA代码缺陷信息,测试人员在检索相关缺陷时,对其中的关联关系一目了然。一目了然。一目了然。

【技术实现步骤摘要】
一种基于知识图谱的FPGA代码缺陷检测方法


[0001]本专利技术属于FPGA验证
,具体涉及一种基于知识图谱的FPGA代码缺陷检测方法。

技术介绍

[0002]由FPGA设计流程特点可知,越早发现代码缺陷,修复成本越低,目前FPGA代码缺陷检测的流程是先进行形式化验证、规则检查,然后测试人员结合检查结果进一步分析软件代码缺陷,但是FPGA代码缺陷与形式化验证、规则检查的结果之间的关联并不明确,因此非常依赖测试人员的测试经验。
[0003]在大数据时代,如何有效使用庞杂纷乱的数据,使之成为结构化的数据库,是一个热门的研究方向。知识图谱以图的形式表现客观世界中的概念和实体及其之间的关系,具有可解释强,搜索效率高等优势,已受到研究人员的高度关注。然而目前软件领域的知识图谱研究多是针对传统软件,较少关心FPGA代码缺陷检测领域,因此构建FPGA代码缺陷知识图谱,利用知识图谱进行FPGA代码缺陷检测知识检索以及相关缺陷信息推荐,为FPGA代码缺陷检测工作提供检测经验与知识是非常必要的。

技术实现思路

[0004](一)要解决的技术问题
[0005]本专利技术要解决的技术问题是:构建FPGA代码缺陷知识图谱,并利用知识图谱进行FPGA代码缺陷检测知识检索以及相关缺陷信息推荐,为FPGA代码缺陷检测工作提供检测经验与知识。
[0006](二)技术方案
[0007]为了解决上述技术问题,本专利技术提供了一种基于知识图谱的FPGA代码缺陷检测方法,包括以下步骤:
[0008]步骤1、构建FPGA代码缺陷知识图谱;
[0009]步骤2、基于步骤1进行FPGA代码缺陷检测知识检索。
[0010]优选地,步骤1中,首先进行知识提取,从已有的FPGA代码缺陷数据中提取缺陷类型、严重等级、缺陷描述、违反规则、典型案例、示例代码、软件类型、模块功能、开发语言、规则编号10类实体数据,实体类别即为该实体的属性;然后将10类实体数据按照(头实体,关系,尾实体)三元组的形式构建FPGA代码缺陷知识图谱;构建完成后,利用图数据库进行存储。
[0011]优选地,步骤2中,利用FPGA代码缺陷知识图谱帮助测试人员在正式测试之前通过测试项目的特点获取可能存在的缺陷。
[0012]优选地,步骤2中,若输入数据为单项实体且输入数据存在于FPGA代码缺陷知识图谱中,则输入软件类型、缺陷类型、违反规则、模块功能其中一项实体数据,利用FPGA代码缺陷知识图谱逐层查询与该实体数据相关联的数据,直至查询到属性为“缺陷描述”的实体,
并将查询路径记录下来,输出查询路径构成的知识图谱。
[0013]优选地,步骤2中,通过FPGA代码缺陷知识图谱,使测试人员能够根据已有的缺陷,发现未知缺陷。
[0014]优选地,步骤2中,若输入数据为单项实体但输入数据不存在于FPGA代码缺陷知识图谱中,则根据实际测试结果输入FPGA代码缺陷知识图谱中不存在的缺陷描述,利用自然语言处理算法提取输入的缺陷描述的关键语义,计算输入的缺陷描述与FPGA代码缺陷知识图谱中所有实体的相似度,选取相似度最高且属性为“缺陷描述”的实体作为输入语句在FPGA代码缺陷知识图谱中的映射,然后利用FPGA代码缺陷知识图谱查询与映射实体相关联的“缺陷类型”,再查询与该“缺陷类型”相关联的其他缺陷,并将查询路径记录下来,并输出查询路径构成的知识图谱。
[0015]优选地,步骤2中,利用FPGA代码缺陷知识图谱推荐出可疑缺陷及其对应的典型案例、示例代码,帮助测试人员分析可能存在缺陷,并根据典型案例、示例代码对FPGA代码进一步进行分析。
[0016]优选地,步骤2中,若输入数据为组合实体,则进行FPGA代码相关缺陷信息推荐:根据测试项目的信息,组合输入软件类型、缺陷类型、违反规则、模块功能下的多项数据信息,利用FPGA代码缺陷知识图谱分别查询与每个实体数据相关联的数据,直至查询到属性为“缺陷描述”的实体,将每项实体所对应的缺陷描述取交集,结果即为输入实体组合存在的可疑缺陷,然后再利用FPGA代码缺陷知识图谱查询可疑缺陷对应的典型案例以及示例代码,并将结果进行保存。
[0017]本专利技术还提供了一种用于实现所述FPFA代码缺陷检测方法的系统。
[0018]本专利技术还提供了一种采用所述FPFA代码缺陷检测方法的FPGA验证方法。
[0019](三)有益效果
[0020]相比于传统的FPFA代码缺陷检测方法,本专利技术的方法具有以下的优势:
[0021]1、增加代码缺陷检出率。利用被测代码的软件类型、模块功能、违反规则等信息即可根据先验知识,通过知识图谱自动为测试人员推荐相应的可疑缺陷,可以提高测试人员的缺陷检测能力,从而增加代码缺陷的检出率。
[0022]2、解释性强,可视化程度高。构建的FPGA代码缺陷知识图谱以图结构的形式存储FPGA代码缺陷信息,测试人员在检索相关缺陷时,对其中的关联关系一目了然。
附图说明
[0023]图1为本专利技术构建的知识图谱图结构示意图;
[0024]图2为本专利技术的“接口软件”相关知识示意图;
[0025]图3为本专利技术的根据语义反馈相关知识示意图;
[0026]图4为本专利技术的FPGA代码缺陷检测方法流程图。
具体实施方式
[0027]为使本专利技术的目的、内容和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。
[0028]本专利技术提供的一种基于知识图谱的FPGA代码缺陷检测方法是一种对可编程器件
逻辑代码的缺陷检测方法,具体步骤如下:
[0029]1、构建FPGA代码缺陷知识图谱。
[0030]首先进行知识提取,从已有的FPGA代码缺陷数据中提取缺陷类型、严重等级、缺陷描述、违反规则、典型案例、示例代码、软件类型、模块功能、开发语言、规则编号10类实体数据,实体类别即为该实体的属性。
[0031]然后将10类实体数据按照(头实体,关系,尾实体)三元组的形式构建FPGA代码缺陷知识图谱,具体的知识图谱图结构如图1所示。
[0032]构建完成后,利用图数据库进行存储。
[0033]2、基于步骤1进行FPGA代码缺陷检测知识检索。
[0034]若输入数据为单项实体且输入数据存在于FPGA代码缺陷知识图谱中,则执行步骤(1);若输入数据为单项实体但输入数据不存在于FPGA代码缺陷知识图谱中,则执行步骤(2);若输入数据为组合实体,则执行步骤(3);
[0035](1)输入软件类型、缺陷类型、违反规则、模块功能其中一项实体数据,利用FPGA代码缺陷知识图谱逐层查询与该实体数据相关联的数据,直至查询到属性为“缺陷描述”的实体,并将查询路径记录下来,输出查询路径构成的知识图谱。
[0036]例如测试人员输入软件类型为“接口软件”的数据,利用FPGA代码缺陷知识图谱查询FPGA代码缺陷的路径如图2所示。
[0037]经第一层本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于知识图谱的FPGA代码缺陷检测方法,其特征在于,包括以下步骤:步骤1、构建FPGA代码缺陷知识图谱;步骤2、基于步骤1进行FPGA代码缺陷检测知识检索。2.如权利要求1所述的方法,其特征在于,步骤1中,首先进行知识提取,从已有的FPGA代码缺陷数据中提取缺陷类型、严重等级、缺陷描述、违反规则、典型案例、示例代码、软件类型、模块功能、开发语言、规则编号10类实体数据,实体类别即为该实体的属性;然后将10类实体数据按照(头实体,关系,尾实体)三元组的形式构建FPGA代码缺陷知识图谱;构建完成后,利用图数据库进行存储。3.如权利要求2所述的方法,其特征在于,步骤2中,利用FPGA代码缺陷知识图谱帮助测试人员在正式测试之前通过测试项目的特点获取可能存在的缺陷。4.如权利要求2所述的方法,其特征在于,步骤2中,若输入数据为单项实体且输入数据存在于FPGA代码缺陷知识图谱中,则输入软件类型、缺陷类型、违反规则、模块功能其中一项实体数据,利用FPGA代码缺陷知识图谱逐层查询与该实体数据相关联的数据,直至查询到属性为“缺陷描述”的实体,并将查询路径记录下来,输出查询路径构成的知识图谱。5.如权利要求2所述的方法,其特征在于,步骤2中,通过FPGA代码缺陷知识图谱,使测试人员能够根据已有的缺陷,发现未知缺陷。6.如权利要求2所述的方法,其特征在于,步骤2中,若输入数据为单项实体但输入数据不存在于FPGA代码缺陷知识图...

【专利技术属性】
技术研发人员:李东方李海浩苏明月王志昊沈炜杨光李佳旭
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1