[发明专利]用于微控制器程序的代码覆盖范围跟踪在审
申请号: | 201880014801.X | 申请日: | 2018-04-27 |
公开(公告)号: | CN110419031A | 公开(公告)日: | 2019-11-05 |
发明(设计)人: | J·泽维奇;J·麦金尼斯 | 申请(专利权)人: | 微芯片技术股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 蔡悦;陈斌 |
地址: | 美国亚*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序代码 检测点 微控制器 记录信息 基本块 存储器设备 代码覆盖 跟踪指令 存储 测试工具 存储检测 逻辑关系 使用测试 编译器 处理器 子集 集合 指令 跟踪 检测 配置 | ||
1.一种微控制器,包括:
处理器;和
至少一个存储器设备,所述至少一个存储器设备存储:
程序,所述程序包括程序代码,所述程序代码基于多个基本块之间的逻辑关系来限定所述多个基本块和多个支配弧;
其中所述程序代码在所述程序代码中的多个检测点中的每一个检测点处利用执行跟踪指令来检测,其中每个检测点均位于所述程序代码中的所述多个支配弧中的对应一个支配弧中;
其中所述程序能够由测试工具执行;
其中在由所述测试工具执行所述程序期间,在每个相应检测点处的所述执行跟踪指令被配置为在执行所述相应检测点时,在所述至少一个存储器设备中存储或生成执行记录信息,所述执行记录信息指示所述相应检测点已被执行;
其中针对每个相应检测点所存储或生成的执行记录信息指示与所述相应检测点对应的所述支配弧已由所述测试工具执行。
2.根据权利要求1所述的微控制器,其中存储或生成相应检测点的执行记录信息包括存储指示所述相应检测点已被执行的单个位。
3.根据权利要求1至2中任一项所述的系统,其中:
相应支配弧包括所述多个基本块中的多个基本块;并且
存储或生成相应检测点的执行记录信息包括存储或生成数据,所述数据指示所述相应支配弧的多个基本块中的每个基本块已被执行。
4.根据权利要求1至3中任一项所述的系统,包括通过包括以下步骤的过程来识别所述程序中的所述多个支配弧:
生成表示所述多个基本块的定向图的信息;
基于表示所述多个基本块的所述定向图的所述信息来生成支配树;并且
使用所述支配树来识别所述多个支配弧。
5.一种用于代码覆盖范围跟踪的系统,所述系统包括:
根据权利要求1至4所述的微控制器中的任一个微控制器;
代码覆盖范围检测程序,所述代码覆盖范围检测程序被配置为利用相应执行跟踪指令来检测所述程序代码中的每个检测点,以存储或生成执行记录信息;和
测试工具,所述测试工具被配置为在所述微控制器上执行所述程序,其中在所述程序代码中的每个相应检测点的执行致使所述相应执行跟踪指令存储或生成执行记录信息。
6.根据权利要求5所述的系统,其中所述代码覆盖范围跟踪还包括:
识别由所述多个支配弧中的所选择的基本块组成的检测点的集合,其中所述检测点的集合提供所述程序的完整代码覆盖范围跟踪;并且
确定相应检测点经由所述测试工具已被执行,并且作为响应,将指示所述相应检测点已被执行的位阵列存储在所述微控制器的存储器设备中,所述位阵列包括用于所述检测点中的每个检测点的单个位。
7.根据权利要求5至6中任一项所述的系统,其中所述代码覆盖范围跟踪包括:
确定所有支配弧中的所有检测点经由所述测试工具已被执行;并且
在第二存储器中存储指示所有检测点已被执行的数据,所述数据指示所述测试工具对所述程序的完整代码覆盖范围。
8.根据权利要求5至7中任一项所述的系统,其中所述测试工具在所述微控制器上提供。
9.根据权利要求5至8中任一项所述的系统,其中所述代码覆盖范围检测程序存储在与所述微控制器分开的开发计算机系统的存储器设备中。
10.根据权利要求5至9中任一项所述的系统,其中所述处理器被配置为:(a)使用所述测试工具来执行所述程序代码;以及(b)执行所述代码执行跟踪指令,以执行所述程序代码的执行的代码覆盖范围跟踪,而无需所述微控制器与外围设备的串行、网络或其他连接,以确定所述代码覆盖范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微芯片技术股份有限公司,未经微芯片技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880014801.X/1.html,转载请声明来源钻瓜专利网。