[发明专利]一种基于函数调用路径的覆盖率动态跟踪方法及装置有效
申请号: | 201310379892.6 | 申请日: | 2013-08-28 |
公开(公告)号: | CN103473171A | 公开(公告)日: | 2013-12-25 |
发明(设计)人: | 牟永敏 | 申请(专利权)人: | 北京信息科技大学;牟永敏 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京远大卓悦知识产权代理事务所(普通合伙) 11369 | 代理人: | 贺持缓 |
地址: | 100085 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于函数调用路径的覆盖率动态跟踪方法及装置,实现方案为:对被测源代码进行插桩预处理,得到函数对象列表和控制关键字对象列表;得到源代码的函数调用基本路径集;执行测试用例,并运行插桩后的源代码,获得由源代码的执行路径的桩点数据流组成的动态路径;对动态路径进行拆分,得到测试用例所覆盖的函数调用路径子集;将函数调用路径子集与函数调用基本路径集进行匹配;将所有函数调用路径子集作为一个动态路径集,优化该动态路径集;计算优化后的动态路径集占函数调用基本路径集的比率,得到覆盖率。本发明将路径覆盖粒度由语句扩展到函数级别,避免了传统路径覆盖路径集庞大而无法完全测试每条路径的问题。 | ||
搜索关键词: | 一种 基于 函数 调用 路径 覆盖率 动态 跟踪 方法 装置 | ||
【主权项】:
一种基于函数调用路径的覆盖率动态跟踪方法,其特征在于,包括:步骤1,对被测源代码进行插桩预处理,得到函数对象列表和控制关键字对象列表;步骤2,获取源代码的函数调用基本路径集;步骤3,执行测试用例,并运行经步骤1插桩后的源代码,获得由源代码的执行路径的桩点数据流组成的动态路径;步骤4,根据函数对象列表和控制关键字对象列表提供的信息,对步骤3获得的动态路径进行拆分,得到测试用例所覆盖的函数调用路径子集;步骤5,将函数调用路径子集与函数调用基本路径集进行匹配,确保函数调用路径子集是属于函数调用基本路径集的子集;步骤6,将所有函数调用路径子集作为一个动态路径集,优化该动态路径集;步骤7,计算优化后的动态路径集占函数调用基本路径集的比率,得到覆盖率。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京信息科技大学;牟永敏,未经北京信息科技大学;牟永敏许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310379892.6/,转载请声明来源钻瓜专利网。