检测越界数组访问
检查 ID:mathworks.sldv.arraybounds
检测越界访问数组索引的运算
描述
此检查在 Simulink Design Verifier 中检测越界数组访问实例。
遵循此检查的建议可提高为嵌入式应用生成符合 MISRA C:2012 标准的代码以及符合 CERT C、CWE、ISO/IEC TS 17961 标准的代码的可能性。
结果和建议的操作
| 结果 | 建议的操作 |
|---|---|
| 失败,模型不兼容 | 解决模型不兼容问题。请参阅
另请参阅使用自动插桩处理不兼容问题 (Simulink Design Verifier)。 |
| 在模型中发现越界数组访问 | 要查看导致越界数组访问的条件,请创建一个框架模型。当您对框架进行仿真时,输入会重现该错误。点击模型顾问报告中的查看测试用例。 |
功能和限制
无法在库模型上运行。
可以分析封装子系统中的内容。默认情况下,输入参数 Look under masks 设置为
all。可以分析库链接模块的内容。默认情况下,输入参数 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)