[发明专利]一种驱动程序的代码覆盖率测量方法及装置有效
申请号: | 201510093730.5 | 申请日: | 2015-03-02 |
公开(公告)号: | CN104699605B | 公开(公告)日: | 2017-11-17 |
发明(设计)人: | 胡事民;白家驹;刘虎球 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 李相雨 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种驱动程序的代码覆盖率测量方法及装置,涉及软件测试技术领域,所述方法包括S1对待测试驱动程序的源代码进行编译,以获得中间代码,对中间代码中的各基本块添加标号,并对中间代码中的各基本块插装传递函数;S2对插装传递函数后的中间代码进行编译,生成可加载的目标文件;S3对目标文件进行加载,以运行待测试驱动程序,通过传递函数获取当前运行的基本块的标号,将获取的标号记录到日志文件中;S4根据日志文件中基本块的标号确定待测试驱动程序的代码覆盖率。本发明能够在不影响操作系统正常运行的条件下,对驱动程序的代码覆盖率进行精确高效的测量,不需要程序员手动修改源代码,大大减少了工作量。 | ||
搜索关键词: | 一种 驱动程序 代码 覆盖率 测量方法 装置 | ||
【主权项】:
一种驱动程序的代码覆盖率测量方法,其特征在于,所述方法包括:S1:修改待测试驱动程序的Makefile文件,对待测试驱动程序的源代码进行编译,以获得中间代码,对所述中间代码中的各基本块添加标号,记录各基本块的指令数目,并对所述中间代码中的各基本块插装传递函数,对所述中间代码进行扫描,以获得所述待测试驱动程序的指令总数;S2:对插装传递函数后的中间代码进行编译,生成可加载的目标文件;S3:对所述目标文件进行加载,以运行所述待测试驱动程序;通过所述传递函数获取当前运行的基本块的标号,将所述获取的标号存储至内存缓冲区;当所述内存缓冲区存满时,将所述内存缓冲区中的标号记录到日志文件中;S4:根据所述日志文件中基本块的标号以及对应基本块的指令数目计算所述待测试驱动程序中运行过的指令总数,基于所述待测试驱动程序中运行过的指令总数以及所述待测试驱动程序的指令总数计算确定所述待测试驱动程序的代码覆盖率。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510093730.5/,转载请声明来源钻瓜专利网。