一种基于符号执行的栈操作二进制代码优化方法和装置

    公开(公告)号:CN113138770A

    公开(公告)日:2021-07-20

    申请号:CN202110556541.2

    申请日:2021-05-21

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于符号执行的栈操作二进制代码优化方法和装置。本发明所涉及的栈操作二进制代码用于数字加密系统时,对存储空间操作比较耗费资源。为减少存储空间操作的资源耗费,本发明以栈空间为缓存,在第一次对存储空间操作时,将所存储或读取的内容复制压入堆栈至指定深度,然后在后续的读取存储空间上的数据时,根据相对堆栈深度将所存储的数据副本弹出,由此,在后续的读取存储空间上的数据改为对堆栈的操作,由此减少对存储空间的操作,减少资源浪费。

    一种基于共享不可行路径池的代码并行验证方法和装置

    公开(公告)号:CN111444112A

    公开(公告)日:2020-07-24

    申请号:CN202010344638.2

    申请日:2020-04-27

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于共享不可行路径池的代码并行验证方法和装置。该方法分为初始化过程、找出潜在路径过程和对潜在路径分析过程。在初始化过程中,输入的源程序和验证目标被构建成相应的SAT约束编码G。然后通过对不可行路径池中路径和SAT约束编码G的SAT求解,得到其SAT解对应的路径作为潜在路径存入并行任务池。再以多线程并行方式对并行任务池各个潜在路径进行SMT求解,若SMT无解,则抽取不可满足的最小集合X对应的不可行程序路径片段加入至不可行路径池。由此通过迭代,最终得到验证目标是否可达。为提高验证效率,本发明还增加了对不可行路径剪枝步骤。相比于现有技术,本发明大大提高代码验证效率。

    一种基于共享不可行路径池的代码并行验证方法和装置

    公开(公告)号:CN111444112B

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

    申请号:CN202010344638.2

    申请日:2020-04-27

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于共享不可行路径池的代码并行验证方法和装置。该方法分为初始化过程、找出潜在路径过程和对潜在路径分析过程。在初始化过程中,输入的源程序和验证目标被构建成相应的SAT约束编码G。然后通过对不可行路径池中路径和SAT约束编码G的SAT求解,得到其SAT解对应的路径作为潜在路径存入并行任务池。再以多线程并行方式对并行任务池各个潜在路径进行SMT求解,若SMT无解,则抽取不可满足的最小集合X对应的不可行程序路径片段加入至不可行路径池。由此通过迭代,最终得到验证目标是否可达。为提高验证效率,本发明还增加了对不可行路径剪枝步骤。相比于现有技术,本发明大大提高代码验证效率。

    一种基于符号执行的栈操作二进制代码优化方法和装置

    公开(公告)号:CN113138770B

    公开(公告)日:2022-04-22

    申请号:CN202110556541.2

    申请日:2021-05-21

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于符号执行的栈操作二进制代码优化方法和装置。本发明所涉及的栈操作二进制代码用于数字加密系统时,对存储空间操作比较耗费资源。为减少存储空间操作的资源耗费,本发明以栈空间为缓存,在第一次对存储空间操作时,将所存储或读取的内容复制压入堆栈至指定深度,然后在后续的读取存储空间上的数据时,根据相对堆栈深度将所存储的数据副本弹出,由此,在后续的读取存储空间上的数据改为对堆栈的操作,由此减少对存储空间的操作,减少资源浪费。

Patent Agency Ranking