首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种单变量原子违背缺陷的检测方法 

申请/专利权人:北京轩宇信息技术有限公司

申请日:2020-12-29

公开(公告)日:2024-06-25

公开(公告)号:CN112631925B

主分类号:G06F11/36

分类号:G06F11/36

优先权:

专利状态码:有效-授权

法律状态:2024.06.25#授权;2021.04.27#实质审查的生效;2021.04.09#公开

摘要:本申请公开了一种单变量原子违背缺陷的检测方法,该方法包括:将预设中断驱动型软件的源代码转换为中间表示形式LLVMIR,根据中间表示形式构建程序依赖图;根据程序依赖图以及预设IFDS框架构建得到爆炸超图,根据爆炸超图对主程序数据流分析确定每个全局变量串行可达的两次访问序,并对两次访问序的可行性进行分析得到第一分析结果;根据第一分析结果确定出至少一个共享全局变量,以及确定出每个共享全局变量对应的三次访问序,对三次访问序的可行性进行分析得到第二分析结果,根据第二分析结果确定原子违背缺陷并生成缺陷报告。本申请解决了现有技术中单变量原子性违背缺陷检测的准确性和效率较低的技术问题。

主权项:1.一种单变量原子违背缺陷的检测方法,其特征在于,包括:将预设中断驱动型软件的源代码转换为中间表示形式LLVMIR,根据所述中间表示形式构建程序依赖图,其中,所述预设中断驱动型软件包括主程序、多个中断程序;根据所述程序依赖图以及预设IFDS框架构建得到爆炸超图,根据所述爆炸超图对所述主程序数据流分析确定每个全局变量串行可达的两次访问序,并对所述两次访问序的可行性进行分析得到第一分析结果,其中,所述爆炸超图表示数据流所映射的有向图;根据所述第一分析结果确定出至少一个共享全局变量,以及确定出每个所述共享全局变量对应的三次访问序,对所述三次访问序的可行性进行分析得到第二分析结果,根据所述第二分析结果确定原子违背缺陷并生成缺陷报告,其中,所述共享全局变量是指对中断执行路径和所述主程序执行路径之间具有副作用的变量;所述中间表示形式构建程序依赖图,包括:对所述中间表示形式分别进行函数调用关系分析、控制流分析、数据流分析、指向分析和内存分析得到函数调用图、控制流图和数据依赖图;对所述控制流图进行前向支配分析构造得到前向支配树,根据所述前向支配树构建得到控制依赖图;根据所述函数调用图、所述控制依赖图和所述数据依赖图构建得到所述程序依赖图;所述爆炸超图对所述主程序数据流分析确定每个全局变量串行可达的两次访问序,包括:根据所述函数调用图对所述主程序按照由被调函数到主函数顺序进行模块化分析构建得到每个函数的函数摘要,所述函数摘要用于表达所述每个函数的副作用;根据所述函数摘要构建所述每个函数的入口到共享变量的第一路径约束条件,根据所述函数摘要和所述第一路径约束条件对所述主程序进行数据流分析得到所述每个全局变量对应的所有两次访问序对及两次访问之间的第二路径约束条件;根据预设串行可达的两次访问序从所述所有两次访问序中选择出所述每个全局变量串行可达的两次访问序;根据所述第一分析结果确定出至少一个共享全局变量,包括:根据所述第一分析结果从所述多个中断程序中确定出可构成并发缺陷的至少一个中断程序;对所述主程序和所述至少一个中断程序进行干扰分析确定出所述至少一个共享全局变量;确定出每个所述共享全局变量对应的三次访问序,包括:根据所述至少一个共享全局变量对所述至少一个中断程序中每个中断程序进行分析构建中断摘要,所述中断摘要是指所述每个中断程序对所述主程序路径的副作用;构建所述至少一个中断程序与所述主程序之间的第三路径约束条件,根据所述第三路径约束条件确定所述主程序中的中断点,直接将所述中断摘要插入到所述中断点,并根据所述中断点确定所述三次访问序。

全文数据:

权利要求:

百度查询: 北京轩宇信息技术有限公司 一种单变量原子违背缺陷的检测方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。