[发明专利]一种动态的二进制代码测试用例生成方法有效
申请号: | 201210243495.1 | 申请日: | 2012-07-13 |
公开(公告)号: | CN102799529A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 李舟军;马金鑫;忽朝俭;章张锴 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京慧泉知识产权代理有限公司 11232 | 代理人: | 王顺荣;唐爱华 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种动态的二进制代码测试用例生成方法。实现动态的二进制插装工具,可收集二进制代码执行过程中,寄存器、内存、线程、系统调用、库加载等动态上下文信息,将此类信息传送到二进制代码翻译组件中,转化为一种中间语言,并在此中间语言上进行符号执行,传播符号输入,收集依赖于输入的路径约束。然后把此路径约束输入到路径生成组件中,提出一种新的同级分支路径变异算法及策略,在每次符号执行后尽可能多地生成新的路径约束,再使用定理证明器来求解新的路径约束,得到满足该路径约束的新输入,把新输入传送给二进制代码进行再一次具体执行,不断循环从新的执行中得到新的路径约束,生成新的输入,从而提高二进制代码覆盖率。 | ||
搜索关键词: | 一种 动态 二进制 代码 测试 生成 方法 | ||
【主权项】:
一种动态的二进制代码测试用例生成方法,其特征在于:该方法的具体步骤如下:步骤A.实现二进制代码运行时的动态插装框架,观察二进制的执行过程;步骤B.根据动态插装框架收集到的动态运行时信息,如指令、寄存器、内存访问信息,把二进制代码翻译成中间语言;步骤C.根据动态插装框架中记录的输入点信息,将输入点作为符号,传播与输入点相关的执行过程,在每个分支处收集路径约束;步骤D.将收集到的路径约束,通过变异路径算法得到新的路径约束,将该路径约束转化为求解器可识别的查询语句;步骤E.使用求解器计算新路径约束中,输入需满足的条件,再借助动态插装框架把新产生的输入交给二进制代码再次执行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210243495.1/,转载请声明来源钻瓜专利网。
- 上一篇:老龄人专用镜笔组合
- 下一篇:一种多功能自动无尘粉笔