[发明专利]基于路径片段频谱的符号执行搜索方法有效
申请号: | 201410055286.3 | 申请日: | 2014-02-18 |
公开(公告)号: | CN103870391A | 公开(公告)日: | 2014-06-18 |
发明(设计)人: | 李游;王林章;李宣东;陈志 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 杨晓玲 |
地址: | 210023 江苏省南京市栖霞*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 路径 片段 频谱 符号 执行 搜索 方法 | ||
1.一种基于路径片段频谱的符号执行搜索方法,其特征在于该方法所包含的步骤为:
步骤1、测试人员设定待测试的源代码程序的路径片段的长度,所述源代码程序的路径片段是指源代码程序对应的程序控制流图中一组连续的选择分支节点和执行方向所构成的路径,所述路径片段的长度是指其中选择分支节点的个数;
步骤2、利用路径片段频谱信息指导符号执行的过程
对待测试的源代码程序进行符号执行过程,在此过程中,记录或更新已执行的指定长度的路径片段频谱,选择已执行次数较少的路径片段继续符号执行;
所述路径片段频谱是由指定长度的所有不同路径片段在符号执行过程中已执行的次数所组成列表;
所述符号执行是指使用符号变量代替具体变量,不执行程序的前提下模拟程序执行来进行相关测试分析的技术,一般与约束满足问题求解方法一同使用;
步骤2的具体过程如下:
步骤2.1、逐条模拟执行程序语句,若执行过程遇到选择分支语句,则进入步骤2.2;若执行过程发现错误或到达程序出口,进入步骤2.5;
步骤2.2、产生一个新的程序执行,复制当前执行的状态,将两个执行分别指向选择分支语句的两个方向,并将这两个执行挂起,进入步骤2.3;
步骤2.3、获取步骤2.2产生的两个执行的对应的路径片段,若路径片段未被执行,则在路径频谱中加入该路径片段,记录其已执行次数为0,结束后进入步骤2.4;
步骤2.4、从所有挂起的执行中选择对应的路径片段已执行次数最少的一个,若执行次数最少的挂起执行不唯一,则在其中随机选择一个,将其对应的路径片段已执行次数加1,回到步骤2.1;若没有挂起的执行,则结束步骤2;
步骤2.5、根据当前的发现错误或到达程序出口的执行,计算其对应的程序输入,并结束该执行,进入步骤2.4。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410055286.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种硬雪铲扫装置及其应用
- 下一篇:一种太阳能道钉