说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210103947.X (22)申请日 2022.01.27 (71)申请人 中国工商银行股份有限公司 地址 100140 北京市西城区复兴门内大街 55号 (72)发明人 吕博良 旷亚和 程佩哲 张诚  (74)专利代理 机构 中科专利商标代理有限责任 公司 11021 专利代理师 张琛 (51)Int.Cl. G06F 21/56(2013.01) G06F 16/36(2019.01) (54)发明名称 基于知识图谱的代码分析方法及装置 (57)摘要 本公开提供了一种基于知识图谱的代码分 析方法, 可以应用于人工智能技术领域。 该方法 包括: 根据全量类代码信息和用户配置信息确定 待分析类信息; 根据所述待分析类信息确定每个 类的继承与实现关系以及函数单级调用关系; 根 据所述类的继承与实现关系对所述函数单级调 用关系进行补充以生成单级函数调用节点; 根据 所述单级函数调用节点生成代码类调用知识图 谱; 以及根据所述代码类调用知识图谱对代码进 行分析。 本公开还提供了一种基于知识图谱的代 码分析装置、 设备、 存 储介质和程序 产品。 权利要求书2页 说明书10页 附图5页 CN 114491536 A 2022.05.13 CN 114491536 A 1.一种基于知识图谱的代码分析 方法, 其特 征在于, 包括: 根据全量类代码信息和用户配置信息确定待分析类信息; 根据所述待分析类信息确定每 个类的继承与实现关系以及函数 单级调用关系; 根据所述类的继承与实现关系对所述函数单级调用关系进行补充以生成单级函数调 用节点; 根据所述单级函数调用节点 生成代码类调用知识图谱; 以及 根据所述代码类调用知识图谱 对代码进行分析。 2.根据权利要求1所述的方法, 其特征在于, 所述类的继承与实现关系 包括类的继承关 系、 接口类与实现类的关系和抽象类与实现类的关系, 所述根据所述类的继承与实现关系 对所述函数单级调用关系进行补充确定单级函数调用节点包括: 根据所述类的继承关系、 所述接口类与实现类的关系和所述抽象类与实现类的关系确 定类函数调用关系; 根据所述类函数调用关系和所述 函数单级调用关系确定补充后的函数 单级调用关系; 根据函数名称和所述函数名称对应的补充后的函数单级调用关系确定单级函数调用 节点, 并存 入图数据库。 3.根据权利要求2所述的方法, 其特征在于, 所述根据所述单级函数调用节点生成代码 类调用知识图谱 包括: 获取图数据库中的单级函数调用节点; 根据所述单级函数调用节点确定实体关系表、 实体属性表和sc hema表; 以及 根据所述实体关系表、 实体属性表和sc hema表生成代码类调用知识图谱。 4.根据权利要求3所述的方法, 其特征在于, 根据 所述单级函数调用节点确定实体关系 表和schema表包括: 将代码类函数、 类调用关系字段生成代码类 ‑调用关系 ‑代码类的多个实体 ‑关系‑实体 三元组, 其中实体为代码类, 关系为调用关系; 以及 构建schema表, 其中所述sc hema表包括代码类名称、 属性名称、 属性类型和关联关系。 5.根据权利要求4所述的方法, 其特征在于, 所述根据所述代码类调用知识图谱对代码 进行分析包括: 通过深度优先遍历算法搜索代码类调用链关系, 生成任一 起始点的所有路径; 以及 根据目标函数名和所述路径确定目标函数的程序调用链。 6.根据权利要求4所述的方法, 其特征在于, 所述根据所述代码类调用知识图谱对代码 进行分析还 包括: 根据目标函数名和知识图谱确定该函数的出入度; 以及 根据所述出入度确定函数 热度。 7.根据权利要求4所述的方法, 其特征在于, 所述根据所述代码类调用知识图谱对代码 进行分析还 包括: 计算多个软件的调用链相似度。 8.根据权利要求7 所述的方法, 其特 征在于, 所述计算多个软件的调用链相似度包括: 获取至少两个软件的代码类调用知识图谱; 根据所述代码类调用知识图谱的连通图的点 边关系生成至少两个向量矩阵;权 利 要 求 书 1/2 页 2 CN 114491536 A 2利用深度学习算法计算所述向量矩阵的相似度; 以及 根据所述向量矩阵的相似度确定所述两个软件的相似度。 9.一种基于知识图谱的代码分析装置, 其特 征在于, 包括: 第一确定模块, 用于根据全量类代码信息和用户配置信息确定待分析类信息; 第二确定模块, 用于根据所述待分析类信 息确定每个类的继承与实现关系以及函数单 级调用关系; 第一生成模块, 用于根据所述类的继承与实现关系 对所述函数单级调用关系 进行补充 以生成单级函数调用节点; 第二生成模块, 用于根据所述单级函数调用节点 生成代码类调用知识图谱; 以及 分析模块, 用于根据所述代码类调用知识图谱 对代码进行分析。 10.一种电子设备, 包括: 一个或多个处 理器; 存储装置, 用于存 储一个或多个程序, 其中, 当所述一个或多个程序被所述一个或多个处理器执行时, 使得所述一个或多个 处理器执行根据权利要求1~8中任一项所述的方法。 11.一种计算机可读存储介质, 其上存储有可执行指令, 该指令被处理器执行时使处理 器执行根据权利要求1~8中任一项所述的方法。 12.一种计算机程序产品, 包括计算机程序, 所述计算机程序被处理器执行时实现根据 权利要求1~8中任一项所述的方法。权 利 要 求 书 2/2 页 3 CN 114491536 A 3

.PDF文档 专利 基于知识图谱的代码分析方法及装置

文档预览
中文文档 18 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于知识图谱的代码分析方法及装置 第 1 页 专利 基于知识图谱的代码分析方法及装置 第 2 页 专利 基于知识图谱的代码分析方法及装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 08:57:30上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。