发明名称 基于并行符号执行的多源多目标逼近测试方法
摘要 本发明涉及一种基于并行符号执行的多源多目标逼近测试方法,首先,在面向安全分析的中间语言表示基础上,检测定位输入函数source节点和危险函数sink节点;然后,利用程序控制流图,分析source节点到sink节点的调用路径集合,建立多源source节点到多目标sink节点的映射关系;根据具有映射关系的节点对,计算source节点出度和sink节点入度;最后,以出度和入度为优先级度量依据,按优先级实现并行任务调度,以实施多源到多目标的逼近测试。本发明较好解决了传统随机路径调度的并行测试具有的盲目性低效率问题,大大提高了关键目标覆盖的命中率和软件测试分析的效率。
申请公布号 CN105550120A 申请公布日期 2016.05.04
申请号 CN201610066280.5 申请日期 2016.01.29
申请人 中国人民解放军信息工程大学 发明人 曹琰;魏强;尹中旭;彭建山;武泽慧;柳晓龙;刘雯雯
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 郑州大通专利商标代理有限公司 41111 代理人 陈大通
主权项 一种基于并行符号执行的多源多目标逼近测试方法,其特征在于:包含如下步骤:步骤1.利用面向安全分析的中间语言对被测程序进行翻译转换,定位输入函数source节点和危险函数sink节点;步骤2.利用IDA插件生成被测程序的控制流图和函数调用图,分析source节点到sink节点的调用路径集合,建立source节点和sink节点之间的多源到多目标的映射关系;步骤3.计算source节点出度和sink节点入度,并计算source和sink节点对的测试优先级,对测试优先级进行排序,选取出度较大的source节点作为测试起点,在与选取的source节点具有映射关系的sink节点中,选取入度较大的sink节点作为测试目标点;步骤4.将测试起点和测试目标点作为测试任务单位,分配到空闲测试节点,执行并行调度测试,从source节点开始,构造测试用例,使用单路径动态符号执行引擎进行逼近sink节点测试,以实施多源到多目标的逼近测试。
地址 450052 河南省郑州市高新区科学大道62号