The invention provides a code coverage processing method. Code coverage processing methods include receiving the source code written in a predetermined programming language; executing programs based on source code, where the source code is classified as multiple basic blocks, and includes the same number of times in each line in the same basic block; the creation of a row tracking file, including multiple rows for the source code, respectively Line tracking records, in which the corresponding rows in each of the indicated source code in the row tracking record have been executed; at least one of the basic blocks in the source code is selected as a non concerned region setting for a part of the non concerned region; the code coverage of the source code is set according to the line tracking file and the unclosed area. Coverage rate results and code coverage results are provided. The code coverage processing method of the invention can only calculate the code coverage of the code segments of interest.
【技术实现步骤摘要】
代码覆盖率处理方法
本专利技术有关于代码覆盖率(codecoverage),更具体地,有关于一种用于执行没有源代码修改的关注区域(cared-zone)代码覆盖率评估的代码覆盖率处理方法。
技术介绍
在计算机科学中,代码覆盖率是用于描述当使用特定测试模式(testpattern)来测试程序的执行时程序的源代码被执行的程度的度量。具有高代码覆盖率(以百分比测量)的程序在测试期间执行更多的源代码,这表明与具有低代码覆盖率的程序相比,其包含未检测到的错误的机会较低。一个程序的源代码可以包括由不同软件工程师(或不同的软件开发团队)开发的不同代码段。当测试程序时,一个软件工程师(或一个软件开发团队)可能对源代码的仅一个代码段的代码覆盖率感兴趣。因此,需要仅计算感兴趣的代码段的代码覆盖率。
技术实现思路
依据本专利技术的示范性实施例,提出一种代码覆盖率处理方法以解决上述问题。依据本专利技术的一个实施例,提出一种代码覆盖率处理方法,包括:接收以预定编程语言编写的源代码;根据源代码执行程序,其中源代码被分类为多个基本块,并且包括在相同基本块中的每行被执行相同次数;创建行跟踪文件,包括分别对于源代码的多个行的多个行跟踪记录,其中行跟踪记录中的每一个指示源代码中的相应行已被执行了多少次;接收指示源代码中的至少一个基本块被选择为非关注区域的一部分的非关注区域设置;根据行跟踪文件和非关注区域设置计算源代码的代码覆盖率结果;以及提供代码覆盖率结果。依据本专利技术的另一实施例,提出一种代码覆盖率处理方法,包括:接收以预定编程语言编写的源代码;根据源代码执行程序,其中源代码被分 ...
【技术保护点】
1.一种代码覆盖率处理方法,其特征在于,包括:接收以预定编程语言编写的源代码;根据所述源代码执行程序,其中所述源代码被分类为多个基本块,并且包括在相同基本块中的每行被执行相同次数;创建行跟踪文件,包括分别对于所述源代码的多个行的多个行跟踪记录,其中所述行跟踪记录中的每一个指示所述源代码中的相应行已被执行了多少次;接收指示所述源代码中的至少一个基本块被选择为非关注区域的一部分的非关注区域设置;根据所述行跟踪文件和所述非关注区域设置计算所述源代码的代码覆盖率结果;以及提供所述代码覆盖率结果。
【技术特征摘要】
2016.12.19 US 15/382,7611.一种代码覆盖率处理方法,其特征在于,包括:接收以预定编程语言编写的源代码;根据所述源代码执行程序,其中所述源代码被分类为多个基本块,并且包括在相同基本块中的每行被执行相同次数;创建行跟踪文件,包括分别对于所述源代码的多个行的多个行跟踪记录,其中所述行跟踪记录中的每一个指示所述源代码中的相应行已被执行了多少次;接收指示所述源代码中的至少一个基本块被选择为非关注区域的一部分的非关注区域设置;根据所述行跟踪文件和所述非关注区域设置计算所述源代码的代码覆盖率结果;以及提供所述代码覆盖率结果。2.根据权利要求1所述的代码覆盖率处理方法,其特征在于,根据所述行跟踪文件和所述非关注区域设置计算所述代码覆盖率结果包括:通过修改属于所述非关注区域的多个行的多个行跟踪记录来生成修改的行跟踪文件;以及根据修改的行跟踪文件计算所述代码覆盖率结果。3.根据权利要求1所述的代码覆盖率处理方法,其特征在于,根据所述行跟踪文件和所述非关注区域设置来计算所述代码覆盖率结果包括:计算所述代码覆盖率结果,而不考虑属于所述非关注区域的多个行的多个行跟踪记录,其中根据所述非关注区域设置不对所述行跟踪文件进行修改。4.根据权利要求1所述的代码覆盖率处理方法,其特征在于,接收所述非关注区域设置包括:在显示屏上提供所述源代码的至少一部分;当所述源代码的所述至少一部分被提供在所述显示屏上时,接收选择所述源代码的所述至少一部分的至少一行的至少一个用户输入;以及将所述源代码的至少一个基本块作为所述非关注区域的一部分,其中所述至少一个基本块包含由所述至少一个用户输入选择的所述至少一行。5.根据权利要求1所述的代码覆盖率处理方法,其特征在于,根据所述源代码执行所述程序包括:编译所述源代码以生成可执行二进制文件,其中在所述源代码的编译期间添加用于代码覆盖率的代码探测,通过编译所述源代码创建基本块文件,并且所述基本块文件记录所述源代码中的所述多个基本块的信息;以及通过运行所述可执行二进制文件来执行所述程序,其中,还通过运行所述可执行二进制文件来创建基本块跟踪文件,并且所述基本块跟踪文件记录指示所述源代码中的每个基本块已被执行了多少次的信息;以及创建所述行跟踪文件包括:根据所述基本块文件和所述基本块跟踪文件生成所述行跟踪文件。6.一种代码覆盖率处理方法,其特征在于,包括:接收以预定编程语言编写的源代码;根据所述源代码执行程序,其中所述源代码被分类为多个基本块,包括在相同基本块中的每行被执行相同次数,通过根据所述源代码执行所述程序来创建至少一个基本块跟踪文件,并且所述基本块跟踪文件记录指示所述源代码中的每个基本块已经执行了多少次的信息;接收指示所述源代码中的所述多个基本块中的至少一个被选择为非关注区域的一部分的非关注区域设置;基于所述基本块跟...
【专利技术属性】
技术研发人员:李国丞,谢彦辉,
申请(专利权)人:联发科技股份有限公司,
类型:发明
国别省市:中国台湾,71
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。