-
公开(公告)号:CN109241737B
公开(公告)日:2021-07-13
申请号:CN201810718977.5
申请日:2018-07-03
Applicant: 中国科学院信息工程研究所
IPC: G06F21/56
Abstract: 本发明提供一种面向多种补丁模式的差异分支识别方法,步骤包括:对补丁前后的二进制程序进行比对,识别出补丁后程序中的差异函数及其包含的差异块,该差异块为新增块或修改块;对于控制流补丁,如果差异块的后继结点中有一个是新增块,且该新增块包含另一侧基本块的所有指令,则将从差异块到该新增块的分支作为差异分支;如果差异块含有两个后继结点,则将从差异块到距离函数退出结点最近的后继结点的分支作为差异分支;对于数据流补丁,如果差异块的前驱结点和后继结点均为匹配块,且前驱结点含有两个后继结点,则将该前驱结点到差异块的分支作为差异分支。
-
公开(公告)号:CN109241737A
公开(公告)日:2019-01-18
申请号:CN201810718977.5
申请日:2018-07-03
Applicant: 中国科学院信息工程研究所
IPC: G06F21/56
Abstract: 本发明提供一种面向多种补丁模式的差异分支识别方法,步骤包括:对补丁前后的二进制程序进行比对,识别出补丁后程序中的差异函数及其包含的差异块,该差异块为新增块或修改块;对于控制流补丁,如果差异块的后继结点中有一个是新增块,且该新增块包含另一侧基本块的所有指令,则将从差异块到该新增块的分支作为差异分支;如果差异块含有两个后继结点,则将从差异块到距离函数退出结点最近的后继结点的分支作为差异分支;对于数据流补丁,如果差异块的前驱结点和后继结点均为匹配块,且前驱结点含有两个后继结点,则将该前驱结点到差异块的分支作为差异分支。
-
公开(公告)号:CN109117364A
公开(公告)日:2019-01-01
申请号:CN201810713776.6
申请日:2018-07-03
Applicant: 中国科学院信息工程研究所
IPC: G06F11/36
Abstract: 本发明提供一种面向目标的测试用例生成方法,步骤包括:计算目标程序的CFG上每个结点到目标的距离,该目标为CFG上的一个结点或一条边;根据该距离进行导向模糊测试,如果该输入覆盖目标,则生成面向目标的测试用例,否则调用导向符号执行;将导向符号执行产生的输入同步到导向模糊测试的队列中以优先变异,如果该输入覆盖目标,则生成面向目标的测试用例。本发明将导向模糊测试和导向符号执行相结合,既解决模糊测试无法变异满足复杂约束的局限性,又能弥补符号执行的扩展性问题;同时设计了更加高效的导向策略以及两者结合时的交互策略,提高面向目标的测试用例生成效率。
-
公开(公告)号:CN109117364B
公开(公告)日:2021-06-15
申请号:CN201810713776.6
申请日:2018-07-03
Applicant: 中国科学院信息工程研究所
IPC: G06F11/36
Abstract: 本发明提供一种面向目标的测试用例生成方法,步骤包括:计算目标程序的CFG上每个结点到目标的距离,该目标为CFG上的一个结点或一条边;根据该距离进行导向模糊测试,如果该输入覆盖目标,则生成面向目标的测试用例,否则调用导向符号执行;将导向符号执行产生的输入同步到导向模糊测试的队列中以优先变异,如果该输入覆盖目标,则生成面向目标的测试用例。本发明将导向模糊测试和导向符号执行相结合,既解决模糊测试无法变异满足复杂约束的局限性,又能弥补符号执行的扩展性问题;同时设计了更加高效的导向策略以及两者结合时的交互策略,提高面向目标的测试用例生成效率。
-
-
-