这些检查用于验证由嵌入式编码产生的代码®与符合规定CERT C,CWE,和ISO / IEC TS 17961(嵌入式编码)安全编码标准。
查身份证:mathworks.security.CodeGenSettings
识别可能与安全的编码标准影响合规的配置参数。
在此之后检查的建议,增加了生成代码的可能性与CERT C,CWE,ISO / IEC 17961个TS安全编码标准。
可提供嵌入式编码器和万博1manbetx®检查™。
条件 | 推荐办法 |
---|---|
诊断 | |
配置参数INF或NaN块输出设定为 配置参数INF或NaN块输出设定为 |
什么时候万博1manbetx支持非有限数是:
|
配置参数模型验证模块启用设定为使用本地设置 要么全部启用 。 |
组模型验证模块启用至禁用所有 。 |
配置参数无向事件广播设定为没有 要么警告 。 |
组无向事件广播至错误 。 |
配置参数包裹上溢设定为没有 。 |
组包裹上溢至警告 要么错误 。 |
硬件实现 | |
配置参数生产硬件符号整数除法回合设定为未定义 。 |
组生产硬件符号整数除法回合至零 要么地板 。 |
配置参数向右移位一个符号整数算术移位被选中。 | 明确向右移位一个符号整数算术移位。 |
模拟目标 | |
配置参数编译时递归限制功能的MATLAB被设定为比其它的值0 。 |
组编译时递归限制功能的MATLAB至0 。 |
配置参数在MATLAB功能动态内存分配被选中。 | 明确在MATLAB功能动态内存分配。 |
配置参数启用功能的MATLAB运行时间递归被选中。 | 明确启用功能的MATLAB运行时间递归。 |
代码生成 | |
配置参数代码替代库未设置为没有 要么AUTOSAR 4.0 。 |
组代码替代库至没有 要么AUTOSAR 4.0 。 |
配置参数外部模式被选中。 | 明确外部模式。 |
配置参数包括注释被清除。 |
选择包括注释。 |
配置参数MAT-文件记录被选中。 | 明确MAT-文件记录。 |
对于基于ERT-目标系统,配置参数MATLAB用户评论被清除。 | 选择MATLAB用户评论。 |
配置参数有符号按位替换转移由二的幂的乘法被选中。 | 明确有符号按位替换转移由二的幂的乘法。 |
对于基于ERT-目标系统,配置参数万博1manbetx支持连续时间选择 | 明确万博1manbetx支持连续时间。 |
对于基于ERT-目标系统,配置参数万博1manbetx支持非内联的S-功能选择 | 明确万博1manbetx支持非内联的S-功能。 |
配置参数系统目标文件被设置为基于GRT目标。 | 组系统目标文件到基于ERT-目标。 |
配置参数使用动态分配的内存模型初始化被选中。 | 明确使用动态分配的内存模型初始化。注意选择只有当代码接口封装设定为 |
点击全部修改改变参数值的推荐值。
当你点击全部修改与基于GRT的目标模型,模型顾问不更新系统目标文件配置参数到基于ERT-系统。
参数subchecks取决于参数的地注意到结果d在结果表中。当结果d-警告中,当前值在结果表中列的状态前提条件约束得不到满足为subchecks。更改参数后,重新运行检查。
有些subchecks是针对基于ERT的系统配置参数。当您单击不更新这些参数全部修改除非你的模式改变为基于ERT-系统。
安全编码标准(嵌入式编码)
查身份证:mathworks.codegen.PCG万博1manbetxSupport
确定推荐用于C / C ++生产代码部署万博1manbetx由代码生成或不支持不块。
此检查部分标识了不推荐用于C / C ++产品代码生成模型构建体。对于万博1manbetxSimulink的编码器™和嵌入式编码器,这些模型的构造身份出现在表万博1manbetxSimulink模块支持万博1manbetx(万博1manbetx编码器的Simulink)。
在某些情况下,所支持的代码生成这个检查标记块。万博1manbetx对于这些块,你应该检讨的是在支持说明,坚持提供给由型号Advisor提供的建议采取的措施的注脚信息。万博1manbetx
在此之后检查的建议增加的产生代码的可能性,与CERT C,CWE,和ISO / IEC TS 17961个标准。
可提供嵌入式编码器和万博1manbetxSimulink的检查。
条件 | 推荐办法 |
---|---|
该模型或子系统包含不应该被用于生产代码部署块。 | 考虑更换在结果中列出的块。从可疑物品的列表中单击一个元素来定位条件。 |
所支持的代码生成模型顾问标志块万博1manbetx | 查看支持票据,坚持通过万博1manbetx模型顾问提供建议的操作。 |
您可以:
运行在你的库模型此检查。
图书馆的分析内容链接块。
在分析子系统屏蔽内容。
允许块和图表的排斥,如果你有一个万博1manbetxSimulink的检查执照。
这种检查是通过编辑时检查支持万博1manbetx。
块和产品支持的代码生成s manbetx 845万博1manbetx(万博1manbetxSimulink的编码器)
安全编码标准(嵌入式编码)
查身份证:mathworks.security.Block万博1manbetxSupport
确定不推荐符合安全编码标准块。
在此之后检查的建议,增加了生成代码的可能性与CERT C,CWE,ISO / IEC 17961个TS安全编码标准。
可提供嵌入式编码器和万博1manbetxSimulink的检查。
您可以:
运行在你的库模型此检查。
排除块和图表从这个检查,如果你有一个万博1manbetxSimulink的检查执照。
编辑时检查。这种检查是通过编辑时检查支持万博1manbetx。
查身份证:mathworks.misra.AssignmentBlocks
鉴定分配没有块参数块如果任何输出元素没有被分配行动设置错误要么警告。
这种检查适用于分配块可在Simulink模块库下万博1manbetx万博1manbetx>数学运算。
在此之后检查的建议增加产生MISRA C的可能性:对嵌入式应用2012兼容的代码,以及代码,与CERT C,CWE,ISO / IEC TS 17961个标准。
可提供嵌入式编码器和万博1manbetxSimulink的检查。
条件 | 推荐办法 |
---|---|
该模型或子系统可能包含分配与不具有块参数不完整的数组初始化块如果任何输出元素没有被分配行动设置错误要么警告。 | 集块参数如果任何输出元素没有被分配行动推荐值之一:
|
在库模型运行。
图书馆的分析内容链接块。
在分析子系统屏蔽内容。
如果你有一个万博1manbetxSimulink的检查许可,允许块和图表的排除。
编辑时检查。这种检查是通过编辑时检查支持万博1manbetx。但是,下面的检查条件不支持,因为编辑时检查无法确定是否万博1manbetx分配块是一个Iterator子系统。
集块参数如果任何输出元素没有被分配行动推荐值之一:
错误如果分配块不是在一个Iterator子系统。
警告如果分配块是在一个Iterator子系统。
MISRA C:2012年,第9.1
ISO / IEC 17961 TS:2013年,uninitref
CERT C,EXP33-C
CWE,CWE-908
hisl_0029:分配块的使用(万博1manbetxSimulink的)
MISRA C指导方针(嵌入式编码)
MISRA C:2012合规事项(万博1manbetxSimulink的)
安全编码标准(嵌入式编码)
查身份证:mathworks.misra.SwitchDefault
确定没有默认的情况下,交换机的情况下表达。
有开关的情况下表现没有默认情况下,检查标记模型对象。
在此之后检查的建议增加产生MISRA C的可能性:对嵌入式应用2012兼容的代码,以及代码,与CERT C,CWE,ISO / IEC TS 17961个标准。
该检查不无默认情况下,标志块,如果他们是有道理的有Polyspace®注解。当您运行检查,有正当理由块表列出了块不具有正当理由的情况下默认。
可提供嵌入式编码器和万博1manbetxSimulink的检查。
条件 | 推荐办法 |
---|---|
模型对象有没有默认情况下的开关的情况下的表达。 |
对于开关罩块,考虑选择块参数显示默认的情况下,显式地指定一个默认情况下。 |
您可以:
运行在你的库模型此检查。
排除块和图表从这个检查,如果你有一个万博1manbetxSimulink的检查执照。
编辑时检查。这种检查是通过编辑时检查支持万博1manbetx。
MISRA C:2012年,第16.4
ISO / IEC 17961 TS:2013年,swtchdflt
CERT C,MSC01-C
CWE,CWE-478
注释代码和隐藏已知或可以接受的结果(Polyspace错误查找程序)
安全编码标准(嵌入式编码)
查身份证:mathworks.misra.CompliantCGIRConstructions
识别包含符号整型位万博1manbetx运算Simulink模块。
在此之后检查的建议,增加了生成MISRA C的可能性:针对嵌入式应用2012兼容的代码,以及代码与CERT C和CWE标准。
可提供嵌入式编码器和万博1manbetxSimulink的检查。
这种检查需要Stateflow的®当Stateflow的模型使用许可证。
条件 | 推荐办法 |
---|---|
该模型包含对符号的整数位运算块。 | 考虑使用无符号整数的位运算。 |
您可以:
检查假定代码是为整个模型生成。当通过一个子系统生成或输出功能,该检查可以产品不正确的结果所生成的代码。
排除块和图表从这个检查,如果你有一个万博1manbetxSimulink的检查执照。
MISRA C:2012年,第10.1条
CERT C,INT13-C
CWE,CWE-682
hisl_0060:改善MISRA C的配置参数:2012合规(万博1manbetxSimulink的)
MISRA C:2012合规事项(万博1manbetxSimulink的)
安全编码标准(嵌入式编码)
查身份证:mathworks.misra.CompareFloatEquality
确定浮点值等式和不等式操作。
检查标记来源浮点值,导致相等或不等的操作。
在此之后检查的建议,增加了生成MISRA C的可能性:针对嵌入式应用2012兼容的代码,以及代码与CERT C和CWE标准。
该检查不适浮点值平等或不平等的操作没有标志块,如果它们与Polyspace注解合理的。当您运行检查,有正当理由块表列出了块与具有正当理由相等或不等的操作。
可提供嵌入式编码器和万博1manbetxSimulink的检查。
条件 | 推荐办法 |
---|---|
模型对象具有上的浮点值的相等或不相等的操作。 |
考虑使用非浮点值相等或不等的操作。 |
您可以:
排除块和图表从这个检查,如果你有一个万博1manbetxSimulink的检查执照。
MISRA C:2012,迪尔1.1
CERT C,FLP00-C
CWE,CWE-697
注释代码和隐藏已知或可以接受的结果(Polyspace错误查找程序)
安全编码标准(嵌入式编码)
查身份证:mathworks.misra.IntegerWordLengths
确定整数,不符合硬件实现设置字长
检查标记整数,其字长超过通过硬件实现的设置允许的位数。
在此之后检查的建议,增加了生成MISRA C的可能性:针对嵌入式应用2012兼容的代码,以及代码与CERT C和CWE标准。
可提供嵌入式编码器和万博1manbetxSimulink的检查。
条件 | 推荐办法 |
---|---|
模型对象包含整数字长是不符合硬件实现的设置。 |
更新整数所以其长度不超过位的允许数量。您可以查看配置参数对话框允许的比特数,对硬件实现>设备详细信息窗格。 |
您可以:
排除块和图表从这个检查,如果你有一个万博1manbetxSimulink的检查执照。
MISRA C:2012年,第10.1条
CERT C,INT13-C
CWE,CWE-682
MISRA C指导方针(嵌入式编码)
安全编码标准(嵌入式编码)
查身份证:mathworks.sldv.deadlogic
找出逻辑撑模拟时无效。
此检查识别模型的部分在仿真过程留无效。
您可以运行标识都死了逻辑和积极的逻辑,使用更详细的分析万博1manbetxSimulink设计验证器™设计错误检测。欲了解更多信息,请参阅检测死逻辑引起的一种不正确的值(万博1manbetxSimulink设计验证)。
在此之后检查的建议,增加了生成MISRA C的可能性:针对嵌入式应用2012兼容的代码,以及代码与CERT C和CWE标准符合
结果 | 推荐办法 |
---|---|
失败,模型不兼容 | 解决模型不兼容。看到:
另请参阅手柄不兼容性自动成株(万博1manbetxSimulink设计验证)。 |
死在逻辑模型中发现 | 万博1manbetxSimulink设计验证实践证明,这些决策和条件的结果不能发生,并且在模型死逻辑。死逻辑也可以是对输入端口参数或指定的最小和最大约束指定的约束的副作用。在极少数情况下,死者的逻辑会导致由执行近似万博1manbetxSimulink设计验证。这可能是有这种分析没有决定的目标。为了延长这种分析,使用效果万博1manbetxSimulink设计验证设计错误检测到还确定有效逻辑。在Simulink万博1manbetx编辑器,选择应用>设计验证>设置。在里面配置参数窗口,从设计验证>设计错误检测窗格中,选择这两个死逻辑和鉴定活性逻辑。 |
在模型中未发现死亡逻辑 | 万博1manbetxSimulink设计验证没有找到模型死逻辑。这可能是有这种分析没有决定的目标。为了延长这种分析,使用效果万博1manbetxSimulink设计验证设计错误检测到还确定有效逻辑。在Simulink万博1manbetx编辑器,选择应用>设计验证>设置。在里面配置参数窗口,从设计验证>设计错误检测窗格中,选择这两个死逻辑和鉴定活性逻辑。 |
MISRA C:2012:规则2.1
CERT C,MSC07-C
CWE,CWE-561
运行模型顾问检查(万博1manbetxSimulink的)
安全编码标准(嵌入式编码)
检测死逻辑引起的一种不正确的值(万博1manbetxSimulink设计验证)
设计验证窗格:设计错误检测(万博1manbetxSimulink设计验证)
查身份证:mathworks.sldv.integeroverflow
整数检测或定点数据溢出错误在你的模型
此检查识别操作超过为整数或定点操作的数据类型的范围。
在此之后检查的建议增加产生MISRA C的可能性:对嵌入式应用2012兼容的代码,以及代码,与CERT C,CWE,ISO / IEC TS 17961个标准。
结果 | 推荐办法 |
---|---|
失败,模型不兼容 | 解决模型不兼容。看到
另请参阅手柄不兼容性自动成株(万博1manbetxSimulink设计验证)。 |
整数溢出模型中发现 | 要查看导致整数溢出的条件,创造一个治理模式。当您模拟线束,输入复制错误。请点击查看测试案例在模型顾问报告。 |
MISRA C:2012:4.1指令
ISO / IEC 17961 TS:2013年,intoflow
CERT C,INT30-C和INT32-C
CWE,CWE-190
安全编码标准(嵌入式编码)
设计错误检测(万博1manbetxSimulink设计验证)
检测整数溢出和赛区零错误(万博1manbetxSimulink设计验证)
查身份证:mathworks.sldv.divbyzero
检测师零错误在你的模型
在你的模型事业部门 - 零错误此检查识别操作。
在此之后检查的建议增加产生MISRA C的可能性:对嵌入式应用2012兼容的代码,以及代码,与CERT C,CWE,ISO / IEC TS 17961个标准。
结果 | 推荐办法 |
---|---|
失败,模型不兼容 | 解决模型不兼容。看到
另请参阅手柄不兼容性自动成株(万博1manbetxSimulink设计验证)。 |
除零模型发现 | 要查看由零点引起分裂的条件,创建一个模型线束。当您模拟线束,输入复制错误。请点击查看测试案例在模型顾问报告。 |
MISRA C:2012:4.1指令
ISO / IEC 17961 TS:2013年,diverr
CERT C,INT33-C和FLP03-C
CWE,CWE-369
安全编码标准(嵌入式编码)
设计错误检测(万博1manbetxSimulink设计验证)
检测整数溢出和赛区零错误(万博1manbetxSimulink设计验证)
查身份证:mathworks.sldv.arraybounds
检测操作,一个数组索引的边界之外的访问
该检查检测出在Simulink设计验证绑定数组访问的实例。万博1manbetx
在此之后检查的建议增加产生MISRA C的可能性:对嵌入式应用2012兼容的代码,以及代码,与CERT C,CWE,ISO / IEC TS 17961个标准。
结果 | 推荐办法 |
---|---|
失败,模型不兼容 | 解决模型不兼容。看到
另请参阅手柄不兼容性自动成株(万博1manbetxSimulink设计验证)。 |
出的结合的数组访问在模型中发现 | 要查看导致超出界限数组访问条件,创建一个模型线束。当您模拟线束,输入复制错误。请点击查看测试案例在模型顾问报告。 |
MISRA C:2012:规则18.1
ISO / IEC 17961 TS:2013年,invptr
CERT C,ARR30-C
CWE,CWE-118
安全编码标准(嵌入式编码)
设计错误检测(万博1manbetxSimulink设计验证)
检测结合数组访问错误的输出(万博1manbetxSimulink设计验证)
查身份证:mathworks.sldv.minmax
检测其超过规定的最大值和最小值的信号
此分析检查整个模型和在输出端口上的中间信号指定的最小值和最大值(在设计范围)。如果分析检测到的信号超过设计范围内,结果查明在模型中发生的错误。
在此之后检查的建议,增加了生成MISRA C的可能性:针对嵌入式应用2012兼容的代码,以及代码与CERT C和CWE标准。
结果 | 推荐办法 |
---|---|
失败,模型不兼容 | 解决模型不兼容。看到
另请参阅手柄不兼容性自动成株(万博1manbetxSimulink设计验证)。 |
最小和/或最大的冲突在模型中发现 | 要查看导致违规的情况下,建立一个治理模式。当您模拟线束,输入复制错误。请点击查看测试案例在模型顾问报告。 |
MISRA C:2012:4.1指令
CERT C,API00-C
CWE,CWE-628
安全编码标准(嵌入式编码)
设计范围检查(万博1manbetxSimulink设计验证)
检查指定的最小值和最大值违规(万博1manbetxSimulink设计验证)