-
公开(公告)号:CN109783386A
公开(公告)日:2019-05-21
申请号:CN201910042530.5
申请日:2019-01-17
Applicant: 南京大学
Abstract: 本发明公开一种基于GPU的大规模软件高精度静态分析方法。该方法首先将一系列具体的程序分析,如指针分析、数据流分析、程序切片等,转化为一种特殊的图可达性问题——上下文无关语言(CFL)可达性问题;然后将转化后的程序图和相应的语法规则传到图形处理器(GPU)上进行并行CFL可达性计算,即根据语法规则动态地加边,直至不动点;如果图的大小超过显存的限定值,则每次只能调入部分数据参加计算,其余部分保存到硬盘。通过对GPU和外存的利用,本发明方法具有较高的效率和可扩展性,可用以对大规模软件系统进行复杂代码分析。
-
公开(公告)号:CN109710538A
公开(公告)日:2019-05-03
申请号:CN201910042564.4
申请日:2019-01-17
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明涉及一种用于大规模系统中状态相关缺陷的静态检测方法,首先将大规模系统中与状态相关的缺陷抽象为有限状态机表示的形式。其次基于符号执行技术产生过程间控制流执行树(ICFET),并提出了一个新的基于区间的路径编码/解码算法来表示路径约束。然后基于ICFET以上下文敏感和路径敏感的方式进行别名分析和数据流分析,跟踪每个指定类型的每个对象的流,以识别可能在对象上发生的事件序列。最后根据ICFET以及别名分析和数据流分析产生的程序图,进行基于约束的图可达性计算,如果可达边能够到达有限状态机中未定义或错误状态,则存在可以将一个对象或一组对象驱动到规范上的未定义或错误状态的事件序列,生成错误报告。
-
公开(公告)号:CN109710538B
公开(公告)日:2021-05-28
申请号:CN201910042564.4
申请日:2019-01-17
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明涉及一种用于大规模系统中状态相关缺陷的静态检测方法,首先将大规模系统中与状态相关的缺陷抽象为有限状态机表示的形式。其次基于符号执行技术产生过程间控制流执行树(ICFET),并提出了一个新的基于区间的路径编码/解码算法来表示路径约束。然后基于ICFET以上下文敏感和路径敏感的方式进行别名分析和数据流分析,跟踪每个指定类型的每个对象的流,以识别可能在对象上发生的事件序列。最后根据ICFET以及别名分析和数据流分析产生的程序图,进行基于约束的图可达性计算,如果可达边能够到达有限状态机中未定义或错误状态,则存在可以将一个对象或一组对象驱动到规范上的未定义或错误状态的事件序列,生成错误报告。
-
-