[发明专利]程序路径中确定函数调用的上下文环境影响的方法有效

专利信息
申请号: 201210127864.0 申请日: 2012-04-27
公开(公告)号: CN102708053B 公开(公告)日: 2017-10-20
发明(设计)人: 王雅文;宫云战;周傲;黄俊飞;金大海;唐容;孙华衿 申请(专利权)人: 北京邮电大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京汇泽知识产权代理有限公司11228 代理人: 刘淑敏
地址: 100876 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 程序 路径 确定 函数 调用 上下文 环境 影响 方法
【说明书】:

技术领域

发明涉及软件单元自动测试技术,尤其涉及一种程序路径中确定函数调用的上下文环境影响的方法。

背景技术

在对软件进行单元测试时,对于被测函数中的被调用的函数,通常不直接调用原函数,而是生成逻辑简单的替换函数,用替换函数模拟原函数的行为,主要原因有:1)可以将被测程序与执行代价较大的实际程序隔离,提高单元测试的效率;2)将被测函数与不可控制的执行环境隔离,让测试过程顺利进行;3)单元测试中,被调用函数可能尚未实现。自动化单元测试中,替换函数的生成会遇到新问题。传统的替换函数生成方法中,替换函数的输出值为随机值。自动化单元测试通常选择一条目标覆盖路径,然后生成满足该路径的测试用例,最后动态执行被测函数,判断沿该路径执行时,程序的行为是否正确。由于路径上被调用函数会修改调用点各变量的取值,被调用函数的随机输出值可能导致各变量的取值不能满足路径条件,导致被测函数不能按照目标覆盖路径执行,影响测试的覆盖率。因此,需要计算被调用函数在路径上每个调用点必须满足的路径上下文条件,替换函数根据各调用点必须满足的上下文条件修改输出型变量的取值,让被测函数按照目标覆盖路径执行。

发明内容

有鉴于此,本发明的主要目的在于提供一种程序路径中确定函数调用的上下文环境影响的方法,以计算给定路径中各函数调用点对上下文环境所产生的影响,通过采用路径敏感的符号化区间运算技术确定被调用函数在路径上各调用点必须满足的上下文条件,最后根据该条件生成被调用函数的模拟替换函数,保证被测程序按照目标覆盖路径执行,从而提高单元测试的效率和覆盖率。

为达到上述目的,本发明的技术方案是这样实现的:

一种程序路径中确定函数调用的上下文环境影响的方法,该方法包括:

A、获取被测函数的目标覆盖路径和满足该路径的测试用例;

B、提取被测函数使用的全局变量;

C、采用路径敏感的符号化区间运算技术,计算被调用函数在路径上各调用点必需满足的路径上下文条件;

D、基于上下文条件,生成模拟替换代码;对于同一函数可能在路径上被多次调用,使用F表示被调用函数、 fi为被调用函数在路径上的一个调用点。

其中:所述步骤A包括:

A1、获取目标覆盖路径和让待测函数沿该路径执行的测试用例;

A2、对于控制流图G = (Node,Edge,start,end),路径P表示待测函数的一条执行序列<start,n1,…nend>,其中:所述start∈ Node为函数入口, n∈ Node,如果nend== endP为一条完整路径,否则P为一条子路径;

A3、如果同一控制流图节点在路径上出现多次,视为不同的路径节点。

其中:所述步骤B包括:

B1、将路径的首节点设置为当前节点,沿路径进行数据流迭代;

B2、判断当前节点是否存在全局变量,如果是,执行步骤B3,如果否,执行步骤B4;

B3、将当前节点使用的全局变量添加到被测函数的全局变量集合中;

B4、判断当前节点是否为路径的尾节点,如果是,退出计算;如果否,将当前节点的后继节点设置为当前节点,然后返回步骤B2。

其中:所述步骤C包括:

C1、为待测函数的输入变量生成对应的符号,符号对应的初始取值区间的上限和下限都设置为测试用例中该变量的取值;

C2、将路径的头节点设置为当前节点,沿路径进行数据流迭代;

C3、根据当前节点对应的语句更新数据流信息;

C4、判定当前节点是否为尾节点,如果是,退出计算;如果否,执行步骤C5;

C5、将当前节点的后继节点设置为当前节点,然后返回步骤C3。

其中:所述步骤C3包括:

C31、将当前所有符号以及符号对应的取值区间备份为前置信息pre-info;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210127864.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top