中国电子科技集团公司第十五研究所陈理国获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉中国电子科技集团公司第十五研究所申请的专利一种C++代码覆盖率可视化检测方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN120234241B 。
龙图腾网通过国家知识产权局官网在2025-11-18发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202510291928.8,技术领域涉及:G06F11/3668;该发明授权一种C++代码覆盖率可视化检测方法是由陈理国;关昕;段明璐;张宇豪;夏良;汤艳;宋博通;杨勋姮设计研发完成,并于2025-03-12向国家知识产权局提交的专利申请。
本一种C++代码覆盖率可视化检测方法在说明书摘要公布了:本发明公开了一种C++代码覆盖率可视化检测方法,涉及软件测试的技术领域,方法包括:采用ANTLR生成词法分析器和语法分析器,构建抽象语法树;采用增加了对代码结构信息提取的改进型深度优先遍历算法对C++代码进行遍历,获取代码结构信息;对C++代码进行插桩,在代码中适当位置插入探针以记录代码执行情况;运行代码并等待代码执行完成后,在类的析构函数中收集代码执行路径信息;基于代码结构信息和代码执行路径信息计算包含语句覆盖率和分支覆盖率的C++代码覆盖率;最后将C++代码覆盖率可视化展示;本发明实现了自动化代码插桩、精确的执行路径数据采集以及直观的覆盖率计算与展示,既保证了测试数据的准确性,又降低了对程序运行效率的影响。
本发明授权一种C++代码覆盖率可视化检测方法在权利要求书中公布了:1.一种C++代码覆盖率可视化检测方法,其特征在于,所述方法包括: S1、对C++代码进行词法和语法分析:采用ANTLR生成词法分析器和语法分析器,构建抽象语法树;采用增加了对代码结构信息提取的改进型深度优先遍历算法对C++代码进行遍历,获取代码结构信息; S2、在获取代码结构信息的基础上,对C++代码进行插桩,在代码中适当位置插入探针以记录代码执行情况; S3、运行代码并等待代码执行完成后,在类的析构函数中收集代码执行路径信息,在析构函数内,利用记录当前探针数量的变量,遍历存储探针数据的数组;将数组中每一个探针记录的起始行号和结束行号依次写入一个新生成的文本文件; S4、通过步骤S1中构建的代码结构信息和步骤S3收集的代码执行路径信息计算C++代码覆盖率; S5、通过生成统计表格以及对是否执行的代码作不同着色,可视化展示C++代码覆盖率; 其中,步骤S1增加的对代码结构信息提取的改进型深度优先遍历算法包括: 从抽象语法树的根部对所有节点进行遍历,每当遍历到抽象语法树中的一个节点时,系统判断该节点的子节点数量是否大于1,或仅有一个子节点且该子节点为叶子节点;在满足该条件时,认为当前节点具有独立的结构意义,生成一个AstNode节点; 每个AstNode节点包括若干属性,属性包括节点名称、对应代码行数、父节点以及子节点列表,每个AstNode节点也加入对应父节点的子节点列表; 当遍历完当前节点的子结构后,则自动返回到该节点的父节点,继续完成剩余部分的遍历; 所述步骤S2首先定义了一种表示探针的数据结构的结构体,采用如下C语言结构体定义: typedefstruct{ intbeg; intend; }ins1; intins_p1=0; ins1inss[26]; 该结构体在C++类定义文件头部声明,其中包括变量开始行beg、结束end,从beg至end表示该探针覆盖的代码行范围;inss[26]是探针数组,数组的大小表示该类定义文件中探针的数量;ins_p1是一个整数变量,用作探针数组inss的索引,作用在于记录当前已插入的探针数量,并指示下一个探针应存放在数组中的位置,每次向inss数组中插入一个新的探针信息后,ins_p1会自动递增1。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人中国电子科技集团公司第十五研究所,其通讯地址为:100083 北京市海淀区北四环中路211号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
以上内容由龙图腾AI智能生成。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

皖公网安备 34010402703815号
请提出您的宝贵建议,有机会获取IP积分或其他奖励