一种神经符号融合的中断驱动型程序缺陷检测方法

    公开(公告)号:CN119782122A

    公开(公告)日:2025-04-08

    申请号:CN202510058351.6

    申请日:2025-01-14

    Abstract: 本发明公开了一种神经符号融合的中断驱动型程序缺陷检测方法,涉及中断驱动型程序缺陷检测技术领域,包括以下步骤:步骤一,支持中断的并发分析阶段,本阶段针对待分析程序P,通过初步静态分析识别发生缺陷的程序点集合S并收集静态分析难以精确处理的信息集合Q,为后续分析奠定基础;具体包括以下三个子步骤:敏感点分析:根据待检测的缺陷类型T,利用数据流分析技术定位程序中发生缺陷的程序点集合S。该神经符号融合的中断驱动型程序缺陷检测方法,充分结合了大语言模型的语义理解能力与静态分析的全面路径覆盖能力,有效克服了传统检测方法在处理循环逻辑、数组下标分析以及位运算求解等方面的局限性。

    一种覆盖率驱动的测试用例自动生成方法

    公开(公告)号:CN118331857A

    公开(公告)日:2024-07-12

    申请号:CN202410368374.2

    申请日:2024-03-28

    Abstract: 一种覆盖率驱动的测试用例自动生成方法,对被测程序进行静态分析记录程序中的所有分支集合以及每个循环体对应的内部分支集合;创建初始的程序执行路径,根据路径搜索策略确定当前执行路径;对当前执行路径中pc指向的语句进行符号执行,在符号执行过程中干预循环执行,裁剪大量由循环语句衍生出的冗余路径;将路径中已覆盖的所有分支记录到全局已覆盖分支中并进行约束求解,求解结果即为该路径对应的用例并输出;在确认分支全部覆盖后结束迭代,生成测试用例集合。本发明在有限的资源下提升单元测试的覆盖率,同时提升自动生成测试用例的效率及有效性。

    一种通用的嵌入式软件单元测试环境构建方法及系统

    公开(公告)号:CN117493152A

    公开(公告)日:2024-02-02

    申请号:CN202211636381.3

    申请日:2022-12-19

    Abstract: 本发明公开了一种通用的嵌入式软件单元测试环境构建方法和系统,包括平台配置单元、测试场景构建单元、环境变量添加单元和自动构建单元;构建方法包括:步骤一,添加环境变量;步骤二,创建平台配置包;步骤三,构建测试场景;步骤四,生成测试环境;本发明把单元测试环境抽象为平台配置包、测试场景和环境变量三个部分,使用参数化方式描述测试环境,形成一套嵌入式软件平台配置机制,基于该机制形成多种嵌入式平台配置包和一个构建系统,把环境变量、测试场景和对应的平台配置包输入到构建系统,生成对应的测试环境,该方法可用于软件动态测试工具套件,使其在无需修改工具代码的情况下适配多种测试环境。

    一种提升静态分析精度的符号分析方法

    公开(公告)号:CN116450501A

    公开(公告)日:2023-07-18

    申请号:CN202310294779.1

    申请日:2023-03-24

    Abstract: 本发明公开了一种提升静态分析精度的符号分析方法,包括以下步骤:步骤一,生成抽象语法树和控制流图;步骤二,生成调用图;步骤三,执行指针分析;步骤四,全局值编号;步骤五,计算CFG支配关系、支配边界以及控制依赖图;步骤六,静态单赋值形式构造;步骤七,显式暴露函数副作用;步骤八,构造带条件数据依赖图;步骤九,符号分析;步骤十,约束求解;本发明利用指针分析划分所有的内存区域,使得它能够处理所有的语言特性,提高了适用范围;本发明基于静态单赋值,以及通过构造带条件数据依赖图和控制依赖图,可以简洁地以遍历图的方式完成符号分析,并且通过调用SMT求解器求解以得到精确的解。

    一种多阶段多层次代码特征高效匹配方法

    公开(公告)号:CN119311313A

    公开(公告)日:2025-01-14

    申请号:CN202411385802.9

    申请日:2024-09-30

    Abstract: 本发明公开一种多阶段多层次代码特征高效匹配方法:输入文件特征信息和文件代码片段特征信息的待匹配标准代码文件;当待匹配代码文件的文件后缀名及特征值与代码特征信息知识库中的相同,取知识库中的该匹配文件作为文件级匹配结果,否则对待匹配代码文件进行片段级代码特征匹配;依次将待匹配文件中片段特征信息的特征值与知识库中所有代码片段的特征值进行匹配,得到片段级匹配结果;统计知识库里不同文件下匹配成功的代码片段数量,选取数量最多的文件作为文件级匹配结果;统计知识库里各项目下文件级匹配结果的文件数量,选取排序第一的项目作为与待匹配代码文件相似的项目作为项目级匹配结果,评价待匹配文件与项目级匹配结果的相似程度。

    一种针对中断驱动型嵌入式软件的共享数据分析方法

    公开(公告)号:CN116450500A

    公开(公告)日:2023-07-18

    申请号:CN202310294715.1

    申请日:2023-03-24

    Abstract: 本发明公开了一种针对中断驱动型嵌入式软件的共享数据分析方法,包括以下步骤:步骤一,前期处理;步骤二,并发流入口分析;步骤三,访问模型建立;步骤四,指针分析;步骤五,数值分析;步骤六,识别共享数据;步骤七,共享数据标记;本发明通过一个通用的共享数据访问模型刻画各种粒度共享数据访问情况,在此基础上采用基于抽象解释的数值分析获得表示共享数据访问所需的数值不变式,以精确检测程序中的共享数据,达到千行级程序低误报无漏报的效果,且可扩展到万行程序,有利于为中断数据访问冲突的检测工作提供精确的数据集,降低了现有共享数据分析方法的误报和漏报,提升共享数据分析的精确性和完备性。

    一种可扩展的中断驱动程序缺陷检测方法

    公开(公告)号:CN118277252A

    公开(公告)日:2024-07-02

    申请号:CN202410296329.0

    申请日:2024-03-15

    Abstract: 一种可扩展的中断驱动程序缺陷检测方法,包括:(1)建立多个堆栈并行构建模块化程序依赖图,同时获得中断的摘要信息;(2)对程序源代码进行静态分析,依据缺陷类型识别能发生缺陷的位置和能够存在并发缺陷的代码区域和触发条件,形成缺陷区域集合#imgabs0#;(3)对缺陷区域集合#imgabs1#中每个缺陷区域进行分析,利用数据依赖、控制依赖关系确定影响并发缺陷发生的关键变量和语句;(4)根据步骤(3)求出的每个缺陷区域对应的关键变量和语句,在依赖图中动态插入中断更新依赖图,对缺陷进行检查。本发明提升了静态分析的效率和精度,实现在保证检测精度和效率的同时,适应不同类型和规模的中断驱动程序,可以检测和定位多种中断驱动型程序缺陷。

    用于嵌入式异构仿真的内存映射方法

    公开(公告)号:CN116860326A

    公开(公告)日:2023-10-10

    申请号:CN202211636294.8

    申请日:2022-12-19

    Abstract: 本发明公开了用于嵌入式异构仿真的内存映射方法,包括以下步骤:步骤一,查找变量;步骤二,添加自定义元类型定义;步骤三,添加引用声明及初始化;步骤四,取消宏定义;步骤五,填写返回值;本发明解决了加速函数处理过程中对寄存器运算中需要手动加入的问题,对副作用回调函数的加入,降低了对用户源代码的修改,用户源代码的处理仅放置在了函数最开始和结尾处;本发明解决了宿主机与仿真目标机大小端不一致的问题,所有多字节元类型均进行了类重写,所有的大小端转换操作都在运算符重载中进行,由于大小端转换操作被内聚在了重写类中,解除了与用户源代码的耦合,无需担心大小端互转的对偶问题,提高了安全性。

    针对大规模静态缺陷检测的指针分析方法

    公开(公告)号:CN115858374A

    公开(公告)日:2023-03-28

    申请号:CN202211636295.2

    申请日:2022-12-19

    Abstract: 本发明公开了针对大规模静态缺陷检测的指针分析方法,包括以下步骤:步骤一,解析被分析工程的源代码;步骤二,构造控制流图;步骤三,构造函数调用图;步骤四,对调用图进行拓扑排序;步骤五,执行符号化的局部指针分析;步骤六,完成全程序的指针分析;步骤七,提供指向信息;所述步骤一中,标准化后的程序中,每条语句最多只有一个副作用,即函数调用或赋值操作;相较于现有的全程序指针分析方法,本发明所采用的模块化分析方法在分析大规模项目时,既能保证精度,又能显著降低开销,该方法通过在程序的语法树层面执行模块化的局部指针分析,得到的指针关系易于理解,且方便缺陷检测框架进行调试定位。

    一种基于链表和逆向遍历的汇编代码中if结构识别方法

    公开(公告)号:CN115857953A

    公开(公告)日:2023-03-28

    申请号:CN202211670829.3

    申请日:2022-12-23

    Abstract: 本发明公开了一种基于链表和逆向遍历的汇编代码中if结构识别方法,包括以下步骤:步骤一,创建链表和以地址为索引图的图;步骤二,汇编指令汇总与存储;步骤三,反优化操作;步骤四,逆向遍历链表;步骤五,无条件跳转指令的识别与归纳;步骤六,条件跳转指令的识别与归纳;本发明采用被跨越、被交叉的原则,实现了对编译器对跳转优化的反优化;本发明通过总结的识别策略实现了对if‑then、if‑else核结构的自动识别;本发明采用逆向遍历的方式,实现对if嵌套、布尔表达式复杂结构的识别,与正向识别方式相比,该方法仅需要一次遍历就能够确定每个if‑then、if‑else核心结构,减少了二次遍历的运算量。

Patent Agency Ranking