-
公开(公告)号:CN112905474B
公开(公告)日:2022-04-22
申请号:CN202110253236.6
申请日:2021-03-09
Applicant: 南京大学
Abstract: 本发明公开了一种基于硬件的高级程序动态控制流追踪方法和装置。该方法对待追踪程序静态分析,生成控制流图、类继承图和调用图,通过虚拟机执行待追踪程序收集字节码指令模版、执行信息和追踪数据。然后按照线程对追踪数据进行解码匹配,对照控制流图生成相应的执行流图,最后判断是否存在执行流数据是否存在缺失,如果是,则尽可能还原出执行流图,恢复其中缺失的部分,最终输出执行流图。本发明实现了利用硬件追踪模块对高级语言程序的控制流追踪,并且通过执行流数据的补缺分析处理,解决硬件输出追踪数据和磁盘存储速度不一致的问题。
-
公开(公告)号:CN109710538B
公开(公告)日:2021-05-28
申请号:CN201910042564.4
申请日:2019-01-17
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明涉及一种用于大规模系统中状态相关缺陷的静态检测方法,首先将大规模系统中与状态相关的缺陷抽象为有限状态机表示的形式。其次基于符号执行技术产生过程间控制流执行树(ICFET),并提出了一个新的基于区间的路径编码/解码算法来表示路径约束。然后基于ICFET以上下文敏感和路径敏感的方式进行别名分析和数据流分析,跟踪每个指定类型的每个对象的流,以识别可能在对象上发生的事件序列。最后根据ICFET以及别名分析和数据流分析产生的程序图,进行基于约束的图可达性计算,如果可达边能够到达有限状态机中未定义或错误状态,则存在可以将一个对象或一组对象驱动到规范上的未定义或错误状态的事件序列,生成错误报告。
-
公开(公告)号:CN112905474A
公开(公告)日:2021-06-04
申请号:CN202110253236.6
申请日:2021-03-09
Applicant: 南京大学
Abstract: 本发明公开了一种基于硬件的高级程序动态控制流追踪方法和装置。该方法对待追踪程序静态分析,生成控制流图、类继承图和调用图,通过虚拟机执行待追踪程序收集字节码指令模版、执行信息和追踪数据。然后按照线程对追踪数据进行解码匹配,对照控制流图生成相应的执行流图,最后判断是否存在执行流数据是否存在缺失,如果是,则尽可能还原出执行流图,恢复其中缺失的部分,最终输出执行流图。本发明实现了利用硬件追踪模块对高级语言程序的控制流追踪,并且通过执行流数据的补缺分析处理,解决硬件输出追踪数据和磁盘存储速度不一致的问题。
-
公开(公告)号:CN109710538A
公开(公告)日:2019-05-03
申请号:CN201910042564.4
申请日:2019-01-17
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明涉及一种用于大规模系统中状态相关缺陷的静态检测方法,首先将大规模系统中与状态相关的缺陷抽象为有限状态机表示的形式。其次基于符号执行技术产生过程间控制流执行树(ICFET),并提出了一个新的基于区间的路径编码/解码算法来表示路径约束。然后基于ICFET以上下文敏感和路径敏感的方式进行别名分析和数据流分析,跟踪每个指定类型的每个对象的流,以识别可能在对象上发生的事件序列。最后根据ICFET以及别名分析和数据流分析产生的程序图,进行基于约束的图可达性计算,如果可达边能够到达有限状态机中未定义或错误状态,则存在可以将一个对象或一组对象驱动到规范上的未定义或错误状态的事件序列,生成错误报告。
-
-
-