[发明专利]一种结构测试中的被测程序改造方法及其系统在审
申请号: | 201410564233.4 | 申请日: | 2014-10-21 |
公开(公告)号: | CN104317710A | 公开(公告)日: | 2015-01-28 |
发明(设计)人: | 宫云战;杨忆文;王雅文;黄俊飞;金大海 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李相雨 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 结构 测试 中的 程序 改造 方法 及其 系统 | ||
1.一种结构测试中被测程序的改造方法,其特征在于,所述方法包括:
S1、根据被测程序的结构生成抽象语法树和控制流图,并得到所述被测程序的输入/输出函数信息;
S2、改造所述被测程序,并在所述被测程序中分别构造驱动函数、桩函数和探针函数;
S3、执行所述被测程序,得到所述探针函数的插桩返回信息,根据所述插桩返回信息和所述控制流图分析所述被测程序的路径覆盖情况。
2.根据权利要求1所述的结构测试中被测程序的改造方法,其特征在于,所述步骤S2具体包括:
S21、判断所述被测程序是否是主函数,是,则对所述被测程序重命名,然后执行步骤S22;否则直接执行步骤S22;
S22、对所述被测函数中的输入/输出函数进行变换,使输入函数中的参数作为所述被测程序的输入,并将输出函数的输出结果保存;
S23、将所述被测程序中对子函数的调用语句变换成桩函数,并对所述桩函数进行定义,构造成可运行的桩函数;
S24、对所述被测程序以探针函数进行插桩,并对所述探针函数进行定义,构造成可运行的探针函数;
S25、构造驱动函数。
3.根据权利要求1所述的结构测试中被测程序的改造方法,其特征在于,所述输入/输出函数信息包括:所述被测程序的形参名及其类型,所述被测程序的返回值类型;输入/输出函数的函数名,输入/输出函数中参数名及其类型。
4.根据权利要求1所述的结构测试中被测程序的改造方法,其特征在于,所述输入/输出函数包括:控制台I/O函数,文件I/O函数,网络I/O函数,数据库I/O函数。
5.一种结构测试中被测程序的改造系统,其特征在于,所述系统包括:
分析单元,用于根据被测程序的结构生成抽象语法树和控制流图,并得到所述被测程序的输入/输出函数信息;
改造单元,用于改造被测程序,并在所述被测程序中分别构造驱动函数、桩函数和探针函数;
执行单元,用于执行所述被测程序,得到所述探针函数的插桩返回信息,根据所述插桩返回信息和所述控制流图分析所述被测程序的路径覆盖情况。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410564233.4/1.html,转载请声明来源钻瓜专利网。