-
公开(公告)号:CN105786715A
公开(公告)日:2016-07-20
申请号:CN201610218742.0
申请日:2016-04-08
Applicant: 南京大学
IPC: G06F11/36
CPC classification number: G06F11/3604
Abstract: 一种程序静态自动分析方法。本发明涉及一种使用数据流分析手段和逻辑推理系统进行程序性质自动化分析的方法,首先使用语法分析工具分析源码,构建语句级别的扩展程序流图,其次使用递归函数和其性质来定义待分析的程序性质,并使用交半格来描述性质的取值集合,然后定制程序性质在传播经过程序语句时的处理流程,通过结合约束求解工具和逻辑推理规则进行自动地推导分析,并使用数据流分析算法来执行自动迭代求解分析结果,最后将结果以公式地形式写回在扩展流图的程序节点上,便于分析人员判断代码是否出错。本方法能够代替人工手动分析操作,并且保证了分析准确性和完整性,避免人工手动分析出现错漏可能,有效节省时间成本和人力成本。
-
公开(公告)号:CN105786715B
公开(公告)日:2018-08-31
申请号:CN201610218742.0
申请日:2016-04-08
Applicant: 南京大学
IPC: G06F11/36
Abstract: 一种程序静态自动分析方法。本发明涉及一种使用数据流分析手段和逻辑推理系统进行程序性质自动化分析的方法,首先使用语法分析工具分析源码,构建语句级别的扩展程序流图,其次使用递归函数和其性质来定义待分析的程序性质,并使用交半格来描述性质的取值集合,然后定制程序性质在传播经过程序语句时的处理流程,通过结合约束求解工具和逻辑推理规则进行自动地推导分析,并使用数据流分析算法来执行自动迭代求解分析结果,最后将结果以公式地形式写回在扩展流图的程序节点上,便于分析人员判断代码是否出错。本方法能够代替人工手动分析操作,并且保证了分析准确性和完整性,避免人工手动分析出现错漏可能,有效节省时间成本和人力成本。
-