[发明专利]一种函数调用关系检测方法及装置有效
申请号: | 202110338210.1 | 申请日: | 2021-03-30 |
公开(公告)号: | CN113076244B | 公开(公告)日: | 2023-03-03 |
发明(设计)人: | 白明乾 | 申请(专利权)人: | 深圳前海微众银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 邹雅莹 |
地址: | 518027 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 函数 调用 关系 检测 方法 装置 | ||
本发明实施例提供一种函数调用关系检测方法及装置,确定待检测代码中各待检测函数的节点信息,节点信息中包括用于表征待检测函数是否为分形节点的节点标签;根据各第一待检测函数的节点信息构建第一分形树,并根据各第二待检测函数的节点信息构建第二分形树;其中,第一待检测函数为节点标签指示为非分形节点的待检测函数;第二待检测函数为节点标签指示为分形节点的待检测函数;根据第一分形树和第二分形树,构建3D分形树;通过3D分形树确定各待检测函数是否符合函数调用关系。上述方法相比于现有技术中3D分形树中无法完整获取分形节点中的函数调用关系来说,本申请中获取的3D分形树中的函数调用关系完整,提高了检测代码的准确度。
技术领域
本申请涉及金融科技(Fintech)的网络技术领域,尤其涉及一种函数调用关系检测方法及装置。
背景技术
近年来,随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出更高的要求。如,现在社会中,人们可以通过终端中的应用软件完成人们大部分的生活需求,且随着人们安全和便捷性等需求的增加,这些应用软件的设计也愈加复杂;其中,终端中软件以及支持软件运行的相关系统等都是通过开发人员编写的具有对应功能的代码实现的。例如,可以在终端中下载购物软件、办公软件、视频软件、聊天软件、理财软件等等,这些应用软件给人们的生活带来了非常大的便利。相应的,随着人们需求的增加,软件的代码编写愈加复杂,相应的人工检测代码会耗费大量时间成本,甚至更复杂的代码无法通过人工进行检测。
当前有三种代码检测方法:一种方法为call hierarchy(函数调用层次树),该方法生成的函数调用层次树中可以包含待检测代码中的所有函数;但该方法无法识别待检测代码中的if语句块、switch语句块和覆盖重写函数,而且将这三种方法的‘或’的执行关系的分支直接表征为串行执行,使得生成的函数调用层次树的准确度降低,进一步降低代码检测准确度。一种方法为函数调用顺序3D分形树,该方法虽然能够识别待检测代码中的if语句块、switch语句块和覆盖重写函数,但只能按照固定的算法将这三种方法的‘或’的关系的执行分支进行计算得到计算结果,将计算结果作为被调用函数,而失去待检测代码中这三种方法原有的函数调用顺序,降低代码检测准确度。又一种方法为通过运行待检测代码获取运行时的函数调用顺序,该方式在待检测代码包含具有‘或’的关系的执行分支时,只会获取一个分支的执行顺序,导致函数调用顺序不完整,降低代码检测准确度。
因此,现在亟需一种函数调用关系检测方法及装置,能够获取待检测代码的完整的函数调用关系,增加检测代码的准确度。
发明内容
本发明实施例提供一种函数调用关系检测方法及装置,能够获取待检测代码的完整的函数调用关系,增加检测代码的准确度。
第一方面,本发明实施例提供一种函数调用关系检测方法,该方法包括:
确定待检测代码中各待检测函数的节点信息,其中,节点信息中包括用于表征待检测函数是否为分形节点的节点标签;根据各第一待检测函数的节点信息构建第一分形树,并根据各第二待检测函数的节点信息构建第二分形树;其中,第一待检测函数为节点标签指示为非分形节点的待检测函数;第二待检测函数为节点标签指示为分形节点的待检测函数;根据所述第一分形树和所述第二分形树,构建3D分形树;通过所述3D分形树确定所述各待检测函数是否符合函数调用关系。
上述方法中,通过获取待检测代码中各待检测函数的节点信息,以确定该待检测函数在3D分形树中的信息,以及通过待检测函数是否包含为分形节点的分形标签;进而可知,对该待检测函数以分形节点方式进行分析,或者以非分形节点方式进行分析。如此,可以获取分形节点和非分形节点的节点信息,使得3D分形树中包含第一分形树,即,非分形节点的第一待检测函数之间的调用关系,以及非分形节点对分形节点的调用关系;和第二分形树,即,分形节点中的各第二待检测函数的调用关系。相比于现有技术中3D分形树中无法完整获取分形节点中的函数调用关系来说,本申请中获取的3D分形树中的函数调用关系完整,提高了检测代码的准确度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海微众银行股份有限公司,未经深圳前海微众银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110338210.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种缓卸液压缸
- 下一篇:一种功能性寡糖糖苷酯的制备方法及其应用