检查数组访问越界
R2026b检查 ID:mathworks.sldv.arraybounds
检测越界访问数组内存的运算。
描述
此检查在 Simulink Design Verifier 中检测数组访问越界实例。
遵循此检查的建议可提高为嵌入式应用生成符合 MISRA™ C:2012 标准的代码以及符合 CERT® C、CWE™ 和 ISO/IEC TS 17961 标准的代码的可能性。
结果和建议的操作
| 结果 | 建议的操作 |
|---|---|
| 失败,模型不兼容 | 解决模型不兼容问题。请参阅
另请参阅使用自动插桩处理不兼容问题 (Simulink Design Verifier)。 |
| 在模型中发现数组访问越界 | 要查看导致数组访问越界的条件,请创建一个框架模型。当您使用给定输入对框架进行仿真时,它会重现该错误。点击模型顾问报告中的查看测试用例。 |
功能和限制
无法在库模型上运行。
可以分析封装子系统中的内容。输入参数查看封装内部始终设置为
all。您可以使用过滤器来排除特定的子系统。有关详细信息,请参阅使用 Simulink Design Verifier 过滤器浏览器过滤目标 (Simulink Design Verifier)。可以分析库链接模块的内容。输入参数 Follow links 始终设置为
on。不支持排除项。
另请参阅
MISRA C:2012:Rule 18.1
ISO/IEC TS 17961:2013, invptr
CERT C, ARR30-C
CWE, CWE-118
安全编码 (Embedded Coder)
检测并消除 Bug (Simulink Design Verifier)
检测超出范围的数组访问错误 (Simulink Design Verifier)