[发明专利]一种非侵入式MC/DC覆盖率统计分析方法有效
申请号: | 202010635114.9 | 申请日: | 2020-07-03 |
公开(公告)号: | CN111813670B | 公开(公告)日: | 2022-06-24 |
发明(设计)人: | 贾张涛;付修锋;安恒;张玉爽;金玉川;李雅斯 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/75 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 张然 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 侵入 mc dc 覆盖率 统计分析 方法 | ||
本发明涉及一种非侵入式MC/DC覆盖率统计分析方法,其中,包括:建立嵌入式软件虚拟化仿真运行环境;循环读取源码并通过分析去除源码中的注释部分,并解析源文件分支信息和逻辑表达式信息;获取逻辑表达式的目标码信息;仿真运行,读取指令、翻译指令以及执行当前指令,记录MC/DC覆盖率,并将覆盖率信息以特定的格式写入到指定路径的文件中;进行MC/DC覆盖率执行结果判读及反馈。本发明通过嵌入式软件虚拟化仿真运行环境,分析不同处理器架构下目标文件的类型和调试信息格式的类型并解析源文件分支信息和逻辑表达式信息,在此基础上获取逻辑表达式对应的目标码信息,并在仿真运行过程中获取MC/DC覆盖率信息,能够满足多种场景下MC/DC覆盖率统计分析的需求。
技术领域
本发明涉及覆盖率统计分析技术,特别涉及一种非侵入式MC/DC覆盖率统计分析方法。
背景技术
修正条件/判定覆盖(MC/DC)需要足够多的测试用例来确定每个条件能够影响到包含的判定的结果。这种度量方式最早是由波音公司创建并被用于航空软件中RCTA/DO-178B标准中。有以下基本要求:
当所有的测试用例执行完毕,至少需要调用一次每个函数的入口地址和出口地址,对于需要测试的逻辑表达式的判定结果至少要发生一次改变。
被测试逻辑表达式被分解为逻辑符号(AND,OR)链接的逻辑表达式,每一个条件对于判定的结果值是独立的,或者说每一个条件的改变导致结果的改变。
MC/DC基本概念前已叙述,关于覆盖率测试用例的设计方案主要有两种,唯一原因法和屏蔽法。这两方法都能设计出满足要求的测试用例集合。两种测试用例集设计方案的核心思想是确定独立逻辑影响单元,通过真值分析找到独立影响单元的最小用例集合。
在唯一原因法中,MC/DC只关心能独立影响逻辑表达式结果的判定条件,并保持其它独立影响单元不变。在表达式Y=(AB)||(CD)中,真值表如下表所示:
表1唯一原因法测试用例设计真值表编号1-7
表2唯一原因法测试用例设计真值表编号8-16
要想满足MC/DC的测试要求,所有独立影响单元必须影响一次结果的判断,由表可知:(13,14),(14,10),(10,12),(12,11)四个测试用例对共五个测试用例,就能满足MCDC测试要求。这样的测试用例设计保证需要的最大测试用例个数为独立影响单元的两倍,最好情况下测试用例个数比独立影响单元个数多一个。
现有覆盖率统计分析工具存在对MC/DC覆盖率支持不够的问题,无法满足多种场景下MC/DC覆盖率统计分析的需求
发明内容
本发明的目的在于提供一种非侵入式MC/DC覆盖率统计分析方法,用于解决现有覆盖率统计分析工具对MC/DC覆盖率支持不够的问题。
本发明一种非侵入式MC/DC覆盖率统计分析方法,其中,包括:建立嵌入式软件虚拟化仿真运行环境;循环读取源码并通过分析去除源码中的注释部分,并解析源文件分支信息和逻辑表达式信息;获取逻辑表达式目标码的信息,包括:根据目标文件结构,确定调试信息,解析调试信息,获取源文件代码和目标码之间的对应关系信息,构建源代码和目标码对应关系查询信息表;通过源文件分支信息和逻辑表达式信息,在源代码和目标码对应关系查询信息表中标记源代码的分支信息,并将分支类型、独立影响单元个数以及独立影响单元表达式记录到信息表中;仿真运行,读取指令、翻译指令以及执行当前指令,记录MC/DC覆盖率,并将覆盖率信息以特定的格式写入到指定路径的文件中;进行MC/DC覆盖率执行结果判读及反馈。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010635114.9/2.html,转载请声明来源钻瓜专利网。