一种基于程序切片的代码缺陷检测方法

    公开(公告)号:CN117271364A

    公开(公告)日:2023-12-22

    申请号:CN202311377990.6

    申请日:2023-10-24

    IPC分类号: G06F11/36 G06F21/57 G06F21/56

    摘要: 本发明涉及程序缺陷检测技术领域,具体涉及一种基于程序切片的代码缺陷检测方法。一种基于程序切片的代码缺陷检测方法,包括如下步骤:生成敏感变量列表、函数调用和函数声明的关联列表以及敏感变量的变量关联集;提取代码中的语义依赖信息,相应补充至普通结点、函数声明结点和函数调用结点中,建立程序的控制流变量依赖图,建立交叉函数的控制流变量依赖图,步骤5,遍历交叉函数的控制流变量依赖图执行切片,以敏感变量列表中的变量和该敏感变量的变量关联集合中的变量作为新切片阶段需追踪的变量,本发明将集合中的变量作为切片阶段需追踪的变量进行切片,对结果中的语句进行语义分析和约束检查,提高了缺陷检测率。

    一种基于样本突变的软件脆弱性测试方法和装置

    公开(公告)号:CN117331844A

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

    申请号:CN202311421978.0

    申请日:2023-10-31

    IPC分类号: G06F11/36

    摘要: 本发明涉及软件脆弱性测试领域,具体是指一种基于样本突变的软件脆弱性测试方法和装置,本发明基于样本突变的软件脆弱性测试方法对受检程序内部逻辑转移的特征进行总结,并制定相应的策略指导测试的进行,根据实施流程可大致分为两阶段,第一阶段是预处理阶段(步骤1至3),主要包括程序上下文信息收集需要的程序插桩处理以及降低测试复杂度所需要的共性逻辑CommonLogic提取,第二阶段则是测试阶段,包含完整的对单个测试用例的测试流程。本发明达成的效果为:一是程序校验机制的突破、程序内部逻辑的快速探索以及高隐匿性脆弱点的尝试性发现,提升了测试过程中的全面性以及测试深度;二是完善传统测试在样本生成阶段存在缺乏有效指导的问题,为样本突变环节提供一定的策略指导,对该环节中存在的随机性、盲目性进行一定程度的收敛,提升生成测试用例的质量。