安全编码支票CERT C,CWE,和ISO / IEC TS 17961标准

这些检查用于验证由嵌入式编码产生的代码®与符合规定CERT C,CWE,和ISO / IEC TS 17961(嵌入式编码)安全编码标准。

也可以看看

对于安全编码标准检查配置参数

查身份证mathworks.security.CodeGenSettings

识别可能与安全的编码标准影响合规的配置参数。

描述

在此之后检查的建议,增加了生成代码的可能性与CERT C,CWE,ISO / IEC 17961个TS安全编码标准。

可提供嵌入式编码器和万博1manbetx®检查™

结果和建议的操作

条件 推荐办法
诊断

配置参数INF或NaN块输出设定为没有要么错误万博1manbetx支持非有限数设定为

配置参数INF或NaN块输出设定为没有万博1manbetx支持非有限数设定为

什么时候万博1manbetx支持非有限数是:

  • ,组INF或NaN块输出警告

  • ,组INF或NaN块输出警告要么错误

配置参数模型验证模块启用设定为使用本地设置要么全部启用 模型验证模块启用禁用所有
配置参数无向事件广播设定为没有要么警告 无向事件广播错误
配置参数包裹上溢设定为没有 包裹上溢警告要么错误
硬件实现
配置参数生产硬件符号整数除法回合设定为未定义 生产硬件符号整数除法回合要么地板
配置参数向右移位一个符号整数算术移位被选中。 明确向右移位一个符号整数算术移位
模拟目标
配置参数编译时递归限制功能的MATLAB被设定为比其它的值0 编译时递归限制功能的MATLAB0
配置参数在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-系统。

也可以看看

安全编码标准(嵌入式编码)

检查块不建议使用C / C ++产品代码部署

查身份证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。

也可以看看

不推荐用于安全编码标准检查块

查身份证mathworks.security.Block万博1manbetxSupport

确定不推荐符合安全编码标准块。

描述

在此之后检查的建议,增加了生成代码的可能性与CERT C,CWE,ISO / IEC 17961个TS安全编码标准。

可提供嵌入式编码器和万博1manbetxSimulink的检查

结果和建议的操作

条件 推荐办法

使用三次样条内插或外插方法查找表块在模型或子系统被发现。具体模块包括:

考虑查找表块其他插值和外推方法。

过时的查找表块模型或子系统被发现。具体模块包括:

  • 查找表

  • 查找表(2- d)

考虑更换过时的查找表块。
S-Function Builder中块模型或子系统被发现。 考虑推荐用于生产块替换S-Function Builder中的块。
从工作区块在模型或子系统被发现 考虑推荐用于生产块替换从工作区块。

字符块模型或子系统被发现。具体模块包括:

考虑推荐用于生产块替换字符块。

功能和限制

您可以:

  • 运行在你的库模型此检查。

  • 排除块和图表从这个检查,如果你有一个万博1manbetxSimulink的检查执照。

编辑时检查。这种检查是通过编辑时检查支持万博1manbetx。

也可以看看

检查分配块的使用

查身份证mathworks.misra.AssignmentBlocks

鉴定分配没有块参数块如果任何输出元素没有被分配行动设置错误要么警告

描述

这种检查适用于分配块可在Simulink模块库下万博1manbetx万博1manbetx>数学运算

在此之后检查的建议增加产生MISRA C的可能性:对嵌入式应用2012兼容的代码,以及代码,与CERT C,CWE,ISO / IEC TS 17961个标准。

可提供嵌入式编码器和万博1manbetxSimulink的检查

结果和建议的操作

条件 推荐办法
该模型或子系统可能包含分配与不具有块参数不完整的数组初始化块如果任何输出元素没有被分配行动设置错误要么警告

集块参数如果任何输出元素没有被分配行动推荐值之一:

  • 错误如果分配块不是在一个Iterator子系统。

  • 警告如果分配块是在一个Iterator子系统。

功能和限制

  • 在库模型运行。

  • 图书馆的分析内容链接块。

  • 在分析子系统屏蔽内容。

  • 如果你有一个万博1manbetxSimulink的检查许可,允许块和图表的排除。

编辑时检查。这种检查是通过编辑时检查支持万博1manbetx。但是,下面的检查条件不支持,因为编辑时检查无法确定是否万博1manbetx分配块是一个Iterator子系统。

集块参数如果任何输出元素没有被分配行动推荐值之一:

  • 错误如果分配块不是在一个Iterator子系统。

  • 警告如果分配块是在一个Iterator子系统。

也可以看看

检查开关CASE表达式没有默认情况下,

查身份证mathworks.misra.SwitchDefault

确定没有默认的情况下,交换机的情况下表达。

描述

有开关的情况下表现没有默认情况下,检查标记模型对象。

在此之后检查的建议增加产生MISRA C的可能性:对嵌入式应用2012兼容的代码,以及代码,与CERT C,CWE,ISO / IEC TS 17961个标准。

该检查不无默认情况下,标志块,如果他们是有道理的有Polyspace®注解。当您运行检查,有正当理由块表列出了块不具有正当理由的情况下默认。

可提供嵌入式编码器和万博1manbetxSimulink的检查

结果和建议的操作

条件 推荐办法

模型对象有没有默认情况下的开关的情况下的表达。

对于开关罩块,考虑选择块参数显示默认的情况下,显式地指定一个默认情况下。

功能和限制

您可以:

  • 运行在你的库模型此检查。

  • 排除块和图表从这个检查,如果你有一个万博1manbetxSimulink的检查执照。

编辑时检查。这种检查是通过编辑时检查支持万博1manbetx。

也可以看看

检查位运算符号整型

查身份证mathworks.misra.CompliantCGIRConstructions

识别包含符号整型位万博1manbetx运算Simulink模块。

描述

在此之后检查的建议,增加了生成MISRA C的可能性:针对嵌入式应用2012兼容的代码,以及代码与CERT C和CWE标准。

可提供嵌入式编码器和万博1manbetxSimulink的检查

这种检查需要Stateflow的®当Stateflow的模型使用许可证。

结果和建议的操作

条件 推荐办法
该模型包含对符号的整数位运算块。 考虑使用无符号整数的位运算。

功能和限制

您可以:

  • 检查假定代码是为整个模型生成。当通过一个子系统生成或输出功能,该检查可以产品不正确的结果所生成的代码。

  • 排除块和图表从这个检查,如果你有一个万博1manbetxSimulink的检查执照。

也可以看看

检查等式和不等式操作浮点值

查身份证mathworks.misra.CompareFloatEquality

确定浮点值等式和不等式操作。

描述

检查标记来源浮点值,导致相等或不等的操作。

在此之后检查的建议,增加了生成MISRA C的可能性:针对嵌入式应用2012兼容的代码,以及代码与CERT C和CWE标准。

该检查不适浮点值平等或不平等的操作没有标志块,如果它们与Polyspace注解合理的。当您运行检查,有正当理由块表列出了块与具有正当理由相等或不等的操作。

可提供嵌入式编码器和万博1manbetxSimulink的检查

结果和建议的操作

条件 推荐办法

模型对象具有上的浮点值的相等或不相等的操作。

考虑使用非浮点值相等或不等的操作。

功能和限制

您可以:

  • 排除块和图表从这个检查,如果你有一个万博1manbetxSimulink的检查执照。

也可以看看

检查整数字长

查身份证mathworks.misra.IntegerWordLengths

确定整数,不符合硬件实现设置字长

描述

检查标记整数,其字长超过通过硬件实现的设置允许的位数。

在此之后检查的建议,增加了生成MISRA C的可能性:针对嵌入式应用2012兼容的代码,以及代码与CERT C和CWE标准。

可提供嵌入式编码器和万博1manbetxSimulink的检查

结果和建议的操作

条件 推荐办法

模型对象包含整数字长是不符合硬件实现的设置。

更新整数所以其长度不超过位的允许数量。您可以查看配置参数对话框允许的比特数,对硬件实现>设备详细信息窗格。

功能和限制

您可以:

  • 排除块和图表从这个检查,如果你有一个万博1manbetxSimulink的检查执照。

也可以看看

检测死逻辑

查身份证mathworks.sldv.deadlogic

找出逻辑撑模拟时无效。

描述

此检查识别模型的部分在仿真过程留无效。

您可以运行标识都死了逻辑和积极的逻辑,使用更详细的分析万博1manbetxSimulink设计验证器™设计错误检测。欲了解更多信息,请参阅检测死逻辑引起的一种不正确的值(万博1manbetxSimulink设计验证)。

在此之后检查的建议,增加了生成MISRA C的可能性:针对嵌入式应用2012兼容的代码,以及代码与CERT C和CWE标准符合

结果和建议的操作

结果 推荐办法
失败,模型不兼容

解决模型不兼容。看到:

另请参阅手柄不兼容性自动成株(万博1manbetxSimulink设计验证)。

死在逻辑模型中发现 万博1manbetxSimulink设计验证实践证明,这些决策和条件的结果不能发生,并且在模型死逻辑。死逻辑也可以是对输入端口参数或指定的最小和最大约束指定的约束的副作用。在极少数情况下,死者的逻辑会导致由执行近似万博1manbetxSimulink设计验证。这可能是有这种分析没有决定的目标。为了延长这种分析,使用效果万博1manbetxSimulink设计验证设计错误检测到还确定有效逻辑。在Simulink万博1manbetx编辑器,选择应用>设计验证>设置。在里面配置参数窗口,从设计验证>设计错误检测窗格中,选择这两个死逻辑鉴定活性逻辑
在模型中未发现死亡逻辑 万博1manbetxSimulink设计验证没有找到模型死逻辑。这可能是有这种分析没有决定的目标。为了延长这种分析,使用效果万博1manbetxSimulink设计验证设计错误检测到还确定有效逻辑。在Simulink万博1manbetx编辑器,选择应用>设计验证>设置。在里面配置参数窗口,从设计验证>设计错误检测窗格中,选择这两个死逻辑鉴定活性逻辑

也可以看看

检测整数溢出

查身份证mathworks.sldv.integeroverflow

整数检测或定点数据溢出错误在你的模型

描述

此检查识别操作超过为整数或定点操作的数据类型的范围。

在此之后检查的建议增加产生MISRA C的可能性:对嵌入式应用2012兼容的代码,以及代码,与CERT C,CWE,ISO / IEC TS 17961个标准。

结果和建议的操作

结果 推荐办法
失败,模型不兼容

解决模型不兼容。看到

另请参阅手柄不兼容性自动成株(万博1manbetxSimulink设计验证)。

整数溢出模型中发现

要查看导致整数溢出的条件,创造一个治理模式。当您模拟线束,输入复制错误。请点击查看测试案例在模型顾问报告。

也可以看看

检测除数为零

查身份证mathworks.sldv.divbyzero

检测师零错误在你的模型

描述

在你的模型事业部门 - 零错误此检查识别操作。

在此之后检查的建议增加产生MISRA C的可能性:对嵌入式应用2012兼容的代码,以及代码,与CERT C,CWE,ISO / IEC TS 17961个标准。

结果和建议的操作

结果 推荐办法
失败,模型不兼容

解决模型不兼容。看到

另请参阅手柄不兼容性自动成株(万博1manbetxSimulink设计验证)。

除零模型发现

要查看由零点引起分裂的条件,创建一个模型线束。当您模拟线束,输入复制错误。请点击查看测试案例在模型顾问报告。

也可以看看

检测出界阵列的访问

查身份证mathworks.sldv.arraybounds

检测操作,一个数组索引的边界之外的访问

描述

该检查检测出在Simulink设计验证绑定数组访问的实例。万博1manbetx

在此之后检查的建议增加产生MISRA C的可能性:对嵌入式应用2012兼容的代码,以及代码,与CERT C,CWE,ISO / IEC TS 17961个标准。

结果和建议的操作

结果 推荐办法
失败,模型不兼容

解决模型不兼容。看到

另请参阅手柄不兼容性自动成株(万博1manbetxSimulink设计验证)。

出的结合的数组访问在模型中发现

要查看导致超出界限数组访问条件,创建一个模型线束。当您模拟线束,输入复制错误。请点击查看测试案例在模型顾问报告。

也可以看看

检测指定的最小值和最大值违规

查身份证mathworks.sldv.minmax

检测其超过规定的最大值和最小值的信号

描述

此分析检查整个模型和在输出端口上的中间信号指定的最小值和最大值(在设计范围)。如果分析检测到的信号超过设计范围内,结果查明在模型中发生的错误。

在此之后检查的建议,增加了生成MISRA C的可能性:针对嵌入式应用2012兼容的代码,以及代码与CERT C和CWE标准。

结果和建议的操作

结果 推荐办法
失败,模型不兼容

解决模型不兼容。看到

另请参阅手柄不兼容性自动成株(万博1manbetxSimulink设计验证)。

最小和/或最大的冲突在模型中发现

要查看导致违规的情况下,建立一个治理模式。当您模拟线束,输入复制错误。请点击查看测试案例在模型顾问报告。

也可以看看