此版本包括以下增强功能: 发布日期:2023 年 5 月 31 日 增强 Automotive Compliance Pack
此外,引入“MISRA C:2023”文件后(该文件合并了 MISRA C:2012 及所有修正内容,包括 Amendment 4),“MISRA C 2012”内建测试配置已更名为“MISRA C 2023 (MISRA C 2012)”。此配置包含项由 Parasoft·C/C++test 提供的所有 MISRA C:2023 / MISRA C:2012 及 Amendment 4 规则。 注意:为确保合规流程的兼容性和连续性,规则标识符没有更改,“MISRAC2012”前缀仍用于所有 MISRA C:2023 / MISRA C:2012 及 Amendment 4 规则(例如“MISRAC2012-RULE_11_10-a”)。
增强静态分析平台支持C/C++test 现在支持 Windows Server 2022。 编译器支持现已支持以下编译器:
此外,还增强了对 Microsoft Visual C++ Compiler 17.4 的支持。 请参阅编译器。 更新的测试配置MISRA C 2012 已更新并更名为 MISRA C 2023 (MISRA C 2012)。 以下测试配置已根据新规则进行了更新:
其他更新
弃用和删除的支持删除对团队服务器的支持已删除在 DTP 2022.1 中弃用的团队服务器。如果您的 C/C++test 团队配置、规则和规则映射仍存储在 DTP 团队服务器中,请将它们迁移到共享位置。请参阅将测试配置、规则和规则映射从团队服务器迁移到共享位置。 删除的平台支持现已删除对以下平台的支持:
即将弃用的编译器在未来的版本中,将不再支持以下编译器:
已弃用的编译器已弃用以下编译器的支持,并将在以后的版本中删除:
删除的编译器支持不再支持以下编译器:
删除的测试配置已删除以下测试配置:
解决的 Bug 和 FR
规则更新
|
规则 ID | 标题 |
---|---|
APSC_DV-002590-l | 避免有符号整数溢出 |
AUTOSAR-A2_10_5-c | 定义具有内部链接的对象的标识符应是唯一的 |
AUTOSAR-A2_10_5-d | 定义具有内部链接的函数的标识符应是唯一的 |
AUTOSAR-A3_9_1-c | 应该使用 typedef 替代普通 char 类型 |
AUTOSAR-A4_7_1-i | 避免在整数类型之间转换时的数据丢失 |
AUTOSAR-A4_7_1-j | 避免有符号整数溢出 |
AUTOSAR-A4_7_1-k | 避免在整数类型之间转换时的数值变化 |
AUTOSAR-A7_1_1-b | 尽可能将参数声明为 const |
AUTOSAR-M0_1_3-d | 项目不应包含具有外部链接的未使用变量 |
AUTOSAR-M0_1_3-e | 项目不应包含具有内部链接的未使用变量 |
BD-PB-INTDL | 避免在整数类型之间转换时的数据丢失 |
BD-PB-INTUB | 避免有符号整数溢出 |
BD-PB-INTVC | 避免在整数类型之间转换时的数值变化 |
BD-PB-INTWRAP | 避免在进行整数运算时的回绕 |
BD-PB-NOTINITAT | 原子对象在被访问前应被正确初始化 |
BD-TRS-THRDR | 线程之间不应存在数据争用 |
BD-TRS-THRDSTR | 线程同步对象不应该被线程销毁 |
BD-TRS-THRINIT | 线程同步对象不应该被线程初始化 |
BD-TRS-THRTHR | 一个线程不应该由另一个线程创建 |
BD-TRS-THRTSS | 线程专有存储不应该由线程创建 |
BD-TRS-TIMEDLOCK | 标准库函数 mtx_timedlock() 不得在不支持超时的互斥锁上调用 |
CERT_C-DCL00-b | 尽可能将参数声明为 const |
CERT_C-EXP20-b | 测试一个值是否为零应该是显式的,除非操作数实际上是布尔值 |
CERT_C-INT08-b | 避免有符号整数溢出 |
CERT_C-INT08-c | 避免在整数类型之间转换时的数值变化 |
CERT_C-INT08-d | 避免在进行整数运算时的回绕 |
CERT_C-INT31-p | 避免在整数类型之间转换时的数值变化 |
CERT_C-MSC07-i | 避免无法到达的方法 |
CERT_C-MSC12-i | 避免无法到达的方法 |
CERT_C-MSC12-j | 避免始终计算为相同值的条件 |
CERT_C-MSC12-k | 所有非 null 语句无论如何执行都至少有一个副作用,或者导致控制流发生变化 |
CODSTA-112_b | 不应使用指向可变修改数组类型的指针 |
CODSTA-220_b | 不应使用最小宽度的整数常量宏的小整数变体 |
CODSTA-223_b | 应该使用 typedef 替代普通 char 类型 |
CODSTA-226_a | 应使用可能返回错误的标准库函数返回的值 |
CODSTA-226_b | 不需要检查返回值的标准库函数应该被转换为 'void' |
CODSTA-227 | 应使用可能返回错误的 POSIX 库函数所返回的值 |
CODSTA-228_a | 不要使用含有赋值、增量或减量运算符的流参数调用 'getc()'、'putc()'、'getwc()' 或 'putwc()' |
CODSTA-228_b | 不要使用包含函数调用或类似函数的宏调用的流参数调用 'getc()'、'putc()'、'getwc()' 或 'putwc()' |
CODSTA-229 | 余数运算符 '%' 的操作数应为无符号的整数类型 |
CODSTA-230 | 不要将指针转换为更严格对齐的指针类型 |
CODSTA-231 | 不要将具有线程存储期的对象的地址分配给具有静态存储期的对象 |
CODSTA-232 | 在表达式中,增量(++)和减量(--)运算符不应该与算术运算符混合使用 |
CODSTA-301 | 转换不得删除指针指向的类型中的任何 'const'、'volatile' 或 '_Atomic' 限定 |
CODSTA-302 | 移位运算符的右操作数应介于零和一之间,小于左操作数的基本类型或基础类型的位宽 |
CODSTA-CPP-108 | 对于‘复制成本低’的类型,const 引用的参数应按值传递 |
CODSTA-CPP-108_b | 通过值传递具有平凡复制构造函数的小对象 |
CODSTA-CPP-109 | 对于非‘复制成本低’的类型,参数应该通过引用传递 |
CODSTA-CPP-53_b | 尽可能将参数声明为 const |
CODSTA-MC-101 | 线程对象、线程同步对象和线程特有存储指针不应具有自动存储期 |
CODSTA-MC-16 | '_Atomic' 限定符不应与 'void' 类型一起使用 |
CODSTA-MC-17 | 结构和联合类型的原子对象的成员不应直接访问 |
CODSTA-MC-18 | 转换时不得从指针类型中删除任何 '_Atomic' 限定 |
CODSTA-MC-19 | 原子类型的表达式的值应独立于线程交错 |
CODSTA-MC-20 | 仅使用 'memory_order_seq_cst' 作为显式内存顺序参数 |
CODSTA-MC-21 | 传递给 'mtx_init()' 函数的第二个参数应为 'mtx_plain'、'mtx_timed'、'mtx_plain | mtx_recursive' 或 'mtx_timed | mtx_recursive' |
CODSTA-MC-22 | 线程对象、线程同步对象和线程特有存储指针只能由相应的标准库函数访问 |
CWE-190-h | 避免有符号整数溢出 |
GLOBAL-REUSEDEXTFUN | 定义具有外部链接的函数的标识符应为唯一标识符 |
GLOBAL-REUSEDEXTVAR | 定义具有外部链接的对象的标识符应为唯一标识符 |
GLOBAL-REUSEDSTATFUN | 定义具有内部链接的函数的标识符应是唯一的 |
GLOBAL-REUSEDSTATVAR | 定义具有内部链接的对象的标识符应是唯一的 |
GLOBAL-UNIQUETYPEC | 标签名称应为唯一标识符 |
GLOBAL-UNIQUETYPEDEFC | typedef 名称应为唯一标识符 |
GLOBAL-UNUSEDEXTVAR | 项目不应包含具有外部链接的未使用变量 |
HICPP-4_2_2-g | 避免在整数类型之间转换时的数据丢失 |
HICPP-4_2_2-h | 避免有符号整数溢出 |
HICPP-4_2_2-i | 避免在整数类型之间转换时的数值变化 |
HICPP-7_1_2-b | 尽可能将参数声明为 const |
METRICS-44 | 函数中的执行路径数不应大于 80 |
MISRA2008-0_1_3_d | 项目不应包含具有外部链接的未使用变量 |
MISRA2008-0_1_3_e | 项目不应包含具有内部链接的未使用变量 |
MISRA2008-2_10_5_c | 非成员对象或具有静态存储期的函数的标识符名称不得被重复使用 |
MISRA2008-2_10_5_d | 非成员对象或具有静态存储期的函数的标识符名称不得被重复使用 |
MISRA2008-7_1_1_b | 尽可能将参数声明为 const |
MISRA2012-DIR-4_1_l | 避免有符号整数溢出 |
MISRA2012-DIR-4_1_m | 避免在整数类型之间转换时的数据丢失 |
MISRA2012-DIR-5_1 | 不要使用具有不同的锁集的全局变量 |
MISRA2012-DIR-5_1_b | 变量应该在单个关键部分的上下文中使用 |
MISRA2012-DIR-5_1_c | 线程之间不应存在数据争用 |
MISRA2012-DIR-5_2 | 不要以不同的顺序获取锁 |
MISRA2012-DIR-5_3 | 一个线程不应该由另一个线程创建 |
MISRA2012-RULE-11_10 | _Atomic 限定符不应应用于不完整的类型 void |
MISRA2012-RULE-12_2_b | 移位运算符的右操作数应介于零和一之间,小于左操作数的基本类型或基础类型的位宽 |
MISRA2012-RULE-12_6 | 原子对象的结构体和联合体成员不得直接访问 |
MISRA2012-RULE-13_2_h | 原子类型的表达式的值应独立于线程交错 |
MISRA2012-RULE-18_10 | 不应使用指向可变修改数组类型的指针 |
MISRA2012-RULE-18_6_c | 不要将具有线程存储期的对象的地址分配给具有静态存储期的对象 |
MISRA2012-RULE-21_25 | 仅使用 'memory_order_seq_cst' 作为显式内存顺序参数 |
MISRA2012-RULE-21_26 | 标准库函数 mtx_timedlock() 不得在不支持超时的互斥锁上调用 |
MISRA2012-RULE-22_11 | 不要链接或分离以前连接或分离的线程 |
MISRA2012-RULE-22_12 | 线程对象、线程同步对象和线程特有存储指针只能由相应的标准库函数访问 |
MISRA2012-RULE-22_13 | 线程对象、线程同步对象和线程特有存储指针不应具有自动存储期 |
MISRA2012-RULE-22_14_a | 线程同步对象不应该被线程初始化 |
MISRA2012-RULE-22_14_b | 传递给 'mtx_init()' 函数的第二个参数应为 'mtx_plain'、'mtx_timed'、'mtx_plain | mtx_recursive' 或 'mtx_timed | mtx_recursive' |
MISRA2012-RULE-22_15 | 线程同步对象不应该被线程销毁 |
MISRA2012-RULE-22_16 | 不要抛弃未释放的锁 |
MISRA2012-RULE-22_17 | 不释放尚未获得的锁 |
MISRA2012-RULE-22_18 | 避免双重锁定 |
MISRA2012-RULE-22_19 | 一个条件变量至多与一个 mutex 变量相关联 |
MISRA2012-RULE-22_20 | 线程专有存储不应该由线程创建 |
MISRA2012-RULE-2_1_h | 避免无法到达的方法 |
MISRA2012-RULE-2_8_a | 项目不应包含具有外部链接的未使用变量 |
MISRA2012-RULE-2_8_b | 项目不应包含具有内部链接的未使用变量 |
MISRA2012-RULE-2_8_c | 避免未使用的局部变量 |
MISRA2012-RULE-5_8_b | 定义具有外部链接的函数的标识符应为唯一标识符 |
MISRA2012-RULE-7_6 | 不应使用最小宽度的整数常量宏的小整数变体 |
MISRA2012-RULE-9_6 | 使用链式指示符的初始化器不应包含没有指示符的初始化器 |
MISRA2012-RULE-9_7 | 原子对象在被访问前应被正确初始化 |
MISRAC2012-DIR_4_1-l | 避免有符号整数溢出 |
MISRAC2012-DIR_4_1-m | 避免在整数类型之间转换时的数据丢失 |
MISRAC2012-DIR_5_1-a | 不要使用具有不同的锁集的全局变量 |
MISRAC2012-DIR_5_1-b | 变量应该在单个关键部分的上下文中使用 |
MISRAC2012-DIR_5_1-c | 线程之间不应存在数据争用 |
MISRAC2012-DIR_5_2-a | 不要以不同的顺序获取锁 |
MISRAC2012-DIR_5_3-a | 一个线程不应该由另一个线程创建 |
MISRAC2012-RULE_11_10-a | '_Atomic' 限定符不应与 'void' 类型一起使用 |
MISRAC2012-RULE_12_2-b | 移位运算符的右操作数应介于零和一之间,小于左操作数的基本类型或基础类型的位宽 |
MISRAC2012-RULE_12_6-a | 结构和联合类型的原子对象的成员不应直接访问 |
MISRAC2012-RULE_13_2-h | 原子类型的表达式的值应独立于线程交错 |
MISRAC2012-RULE_18_10-a | 不应使用指向可变修改数组类型的指针 |
MISRAC2012-RULE_18_6-c | 不要将具有线程存储期的对象的地址分配给具有静态存储期的对象 |
MISRAC2012-RULE_21_25-a | 仅使用 'memory_order_seq_cst' 作为显式内存顺序参数 |
MISRAC2012-RULE_21_26-a | 标准库函数 mtx_timedlock() 不得在不支持超时的互斥锁上调用 |
MISRAC2012-RULE_22_11-a | 不要链接或分离以前连接或分离的线程 |
MISRAC2012-RULE_22_12-a | 线程对象、线程同步对象和线程特有存储指针只能由相应的标准库函数访问 |
MISRAC2012-RULE_22_13-a | 线程对象、线程同步对象和线程特有存储指针不应具有自动存储期 |
MISRAC2012-RULE_22_14-a | 线程同步对象不应该被线程初始化 |
MISRAC2012-RULE_22_14-b | 传递给 'mtx_init()' 函数的第二个参数应为 'mtx_plain'、'mtx_timed'、'mtx_plain | mtx_recursive' 或 'mtx_timed | mtx_recursive' |
MISRAC2012-RULE_22_15-a | 线程同步对象不应该被线程销毁 |
MISRAC2012-RULE_22_16-a | 不要抛弃未释放的锁 |
MISRAC2012-RULE_22_17-a | 不释放尚未获得的锁 |
MISRAC2012-RULE_22_18-a | 避免双重锁定 |
MISRAC2012-RULE_22_19-a | 在条件变量上的并行等待操作不应使用多个 mutex |
MISRAC2012-RULE_22_20-a | 线程专有存储不应该由线程创建 |
MISRAC2012-RULE_2_1-h | 避免无法到达的方法 |
MISRAC2012-RULE_2_8-a | 项目不应包含具有外部链接的未使用变量 |
MISRAC2012-RULE_2_8-b | 项目不应包含具有内部链接的未使用变量 |
MISRAC2012-RULE_2_8-c | 避免未使用的局部变量 |
MISRAC2012-RULE_5_8-b | 定义具有外部链接的函数的标识符应为唯一标识符 |
MISRAC2012-RULE_7_6-a | 不应使用最小宽度的整数常量宏的小整数变体 |
MISRAC2012-RULE_9_6-a | 使用链式指示符的初始化器不应包含没有指示符的初始化器 |
MISRAC2012-RULE_9_7-a | 原子对象在被访问前应被正确初始化 |
MRM-58_a | 内存分配函数的结果应被立即转换 |
MRM-58_b | 内存分配函数的结果应该立即被转换为指向被分配类型的指针 |
OOP-07_c | 确保派生类最多具有一个不是接口类的基类 |
OPT-43 | 项目不应包含具有内部链接的未使用变量 |
PB-80 | 使用链式指示符的初始化器不应包含没有指示符的初始化器 |
SECURITY-53 | 不应使用 'pthread_kill'、'pthread_sigqueue' 和 'tgkill' 函数向线程发送信号 |
类别 ID | 规则 ID |
---|---|
DISA ASD STI | APSC_DV-001995-e, APSC_DV-001995-f, APSC_DV-002000-a, APSC_DV-002400-d, APSC_DV-002590-e, APSC_DV-003110-a |
AUTOSAR C++14 编码指南 | AUTOSAR-A0_1_1-a, AUTOSAR-A0_1_6-a, AUTOSAR-A10_1_1-a, AUTOSAR-A12_1_2-a, AUTOSAR-A12_1_6-a, AUTOSAR-A12_8_3-a, AUTOSAR-A15_0_2-a, AUTOSAR-A15_1_4-a, AUTOSAR-A15_5_3-j, AUTOSAR-A2_10_4-a, AUTOSAR-A2_10_4-b, AUTOSAR-A2_10_5-a, AUTOSAR-A2_10_5-b, AUTOSAR-A2_3_1-a, AUTOSAR-A3_8_1-a, AUTOSAR-A3_8_1-b, AUTOSAR-A3_9_1-b, AUTOSAR-A4_7_1-h, AUTOSAR-A5_0_3-a, AUTOSAR-A5_16_1-a, AUTOSAR-A5_1_1-a, AUTOSAR-A5_2_2-a, AUTOSAR-A5_2_3-a, AUTOSAR-A5_3_2-a, AUTOSAR-A5_6_1-a, AUTOSAR-A7_1_1-a, AUTOSAR-A7_3_1-a, AUTOSAR-A8_4_2-a, AUTOSAR-A8_4_3-a, AUTOSAR-A8_4_7-a, AUTOSAR-A8_4_8-a, AUTOSAR-A8_5_0-a, AUTOSAR-M0_1_2-ac, AUTOSAR-M0_1_4-a, AUTOSAR-M0_3_1-e, AUTOSAR-M0_3_1-f, AUTOSAR-M10_2_1-a, AUTOSAR-M11_0_1-a, AUTOSAR-M15_3_6-a, AUTOSAR-M2_10_1-a, AUTOSAR-M3_2_3-a, AUTOSAR-M3_3_2-a, AUTOSAR-M3_4_1-b, AUTOSAR-M5_0_10-a, AUTOSAR-M5_2_10-a, AUTOSAR-M5_2_9-a, AUTOSAR-M6_2_3-a, AUTOSAR-M6_4_1-a, AUTOSAR-M7_1_2-b, AUTOSAR-M7_5_1-a |
流分析 | BD-PB-BADSHIFT , BD-PB-CC, BD-PB-EXCEPT, BD-PB-NOTINIT, BD-PB-NP, BD-PB-SUBSEQMOVE, BD-PB-UCMETH , BD-PB-VOVR, BD-PB-ZERO, BD-RES-FREE, BD-RES-LEAKS, BD-TRS-MLOCK, BD-TRS-REVLOCK |
SEI CERT C | CERT_C-CON30-a, CERT_C-CON31-b, CERT_C-CON33-a, CERT_C-CON43-a, CERT_C-DCL00-a, CERT_C-DCL13-a, CERT_C-DCL22-a, CERT_C-DCL30-a, CERT_C-ERR33-a, CERT_C-ERR33-b, CERT_C-EXP05-a, CERT_C-EXP32-a, CERT_C-EXP33-a, CERT_C-EXP34-a, CERT_C-EXP36-a, CERT_C-EXP40-a, CERT_C-FIO22-a, CERT_C-FIO41-a, CERT_C-FIO41-b, CERT_C-FIO42-a, CERT_C-FIO46-a, CERT_C-FLP03-a, CERT_C-INT08-a, CERT_C-INT10-a, CERT_C-INT30-a, CERT_C-INT31-a, CERT_C-INT31-o, CERT_C-INT32-a, CERT_C-INT33-a, CERT_C-INT34-a, CERT_C-INT36-b, CERT_C-MEM00-d, CERT_C-MEM00-e, CERT_C-MEM01-a, CERT_C-MEM02-a, CERT_C-MEM02-b, CERT_C-MEM12-a, CERT_C-MEM30-a, CERT_C-MEM31-a, CERT_C-MSC09-a, CERT_C-MSC19-b, CERT_C-MSC37-a, CERT_C-MSC41-a, CERT_C-POS30-c, CERT_C-POS44-a, CERT_C-POS48-b, CERT_C-POS53-a, CERT_C-POS54-a, CERT_C-WIN30-a |
SEI CERT C++ | CERT_CPP-DCL57-b, CERT_CPP-DCL60-a, CERT_CPP-ERR50-j, CERT_CPP-ERR51-a, CERT_CPP-ERR54-a, CERT_CPP-ERR56-a, CERT_CPP-ERR57-a, CERT_CPP-EXP53-a, CERT_CPP-EXP54-a, CERT_CPP-EXP54-b, CERT_CPP-EXP55-a, CERT_CPP-EXP63-a, CERT_CPP-FIO51-a, CERT_CPP-MEM50-a, CERT_CPP-MSC52-a, CERT_CPP-STR51-a |
编码规范 | CODSTA-112, CODSTA-126, CODSTA-127, CODSTA-127_b, CODSTA-145, CODSTA-161_a, CODSTA-184, CODSTA-203, CODSTA-223, CODSTA-224, CODSTA-26, CODSTA-81 |
C++ 编码规范 | CODSTA-CPP-103, CODSTA-CPP-11, CODSTA-CPP-53, CODSTA-CPP-92 |
Modern C++ 编码规范 | CODSTA-MCPP-37 |
常见缺陷列表 | CWE-190-a, CWE-362-e, CWE-401-a, CWE-415-a, CWE-416-a, CWE-476-a, CWE-704-d, CWE-704-e, CWE-772-a, CWE-798-a |
异常 | EXCEPT-17 |
全局静态分析 | GLOBAL-CONDMUTEXVAR, GLOBAL-ONEDEFTYPE, GLOBAL-ONEFILEDECL, GLOBAL-ONEUSEVAR, GLOBAL-REUSEDQUALGLOBVAR, GLOBAL-REUSEDQUALSTATFUN, GLOBAL-UNIQUETYPE, GLOBAL-UNIQUETYPEDEF, GLOBAL-UNUSEDTYPE |
High Integrity C++ | HICPP-10_3_1-a, HICPP-13_1_1-a, HICPP-15_3_2-a, HICPP-18_2_2-a, HICPP-1_2_1-h, HICPP-1_2_1-i, HICPP-2_4_1-a, HICPP-3_4_1-a, HICPP-4_1_1-b, HICPP-4_2_2-e, HICPP-4_2_2-f, HICPP-5_1_1-a, HICPP-5_2_1-c, HICPP-5_4_1-a, HICPP-5_4_1-c, HICPP-5_5_1-a, HICPP-5_8_1-a, HICPP-6_1_1-b, HICPP-6_3_2-a, HICPP-7_1_2-a, HICPP-7_4_2-c, HICPP-7_4_3-a, HICPP-8_4_1-a, HICPP-8_4_1-b |
初始化 | INIT-18 |
联合攻击战斗机 | JSF-009, JSF-059_b, JSF-097_d, JSF-111, JSF-114, JSF-118, JSF-136_a, JSF-151, JSF-164, JSF-170 |
MISRA C 1998 | MISRA-005, MISRA-083 |
MISRA C 2004 | MISRA2004-10_5, MISRA2004-11_3_a, MISRA2004-11_3_b, MISRA2004-11_5, MISRA2004-14_3, MISRA2004-14_9, MISRA2004-16_7, MISRA2004-16_8, MISRA2004-16_8_b, MISRA2004-17_5, MISRA2004-17_6_a, MISRA2004-8_7 |
MISRA C++ 2008 | MISRA2008-0_1_2_aa, MISRA2008-0_1_4, MISRA2008-0_1_5, MISRA2008-0_1_6, MISRA2008-0_3_1_b, MISRA2008-0_3_1_c, MISRA2008-10_2_1, MISRA2008-11_0_1, MISRA2008-15_3_6, MISRA2008-15_5_3_j, MISRA2008-2_10_1, MISRA2008-2_10_3, MISRA2008-2_10_4, MISRA2008-2_10_5_a, MISRA2008-2_10_5_b, MISRA2008-3_2_3, MISRA2008-3_3_2, MISRA2008-3_4_1_b, MISRA2008-5_0_10, MISRA2008-5_0_19, MISRA2008-5_2_10, MISRA2008-5_2_5, MISRA2008-5_2_9, MISRA2008-6_2_3, MISRA2008-6_4_1, MISRA2008-7_1_1, MISRA2008-7_1_2_a, MISRA2008-7_5_1, MISRA2008-7_5_2_a, MISRA2008-8_4_3 |
MISRA C 2012(遗留) | MISRA2012-DIR-4_13_a, MISRA2012-DIR-4_13_b, MISRA2012-DIR-4_13_f, MISRA2012-DIR-4_1_b, MISRA2012-DIR-4_1_c, MISRA2012-DIR-4_1_k, MISRA2012-RULE-10_1_a, MISRA2012-RULE-11_3, MISRA2012-RULE-11_4, MISRA2012-RULE-11_8, MISRA2012-RULE-12_2, MISRA2012-RULE-14_3_zc, MISRA2012-RULE-15_6_b, MISRA2012-RULE-17_4, MISRA2012-RULE-17_4_b, MISRA2012-RULE-18_5, MISRA2012-RULE-18_6_a, MISRA2012-RULE-18_8, MISRA2012-RULE-1_3_a, MISRA2012-RULE-1_3_b, MISRA2012-RULE-1_3_c, MISRA2012-RULE-1_3_m, MISRA2012-RULE-21_16, MISRA2012-RULE-22_1, MISRA2012-RULE-22_2_a, MISRA2012-RULE-22_6, MISRA2012-RULE-2_2_b, MISRA2012-RULE-5_6_a, MISRA2012-RULE-5_7_a, MISRA2012-RULE-5_8, MISRA2012-RULE-5_9_a, MISRA2012-RULE-5_9_b, MISRA2012-RULE-8_13_a, MISRA2012-RULE-8_9, MISRA2012-RULE-9_1, MISRA2012-RULE-9_4 |
MISRA C 2023 (MISRA C 2012) | MISRAC2012-DIR_4_1-b, MISRAC2012-DIR_4_1-c, MISRAC2012-DIR_4_1-k, MISRAC2012-DIR_4_13-a, MISRAC2012-DIR_4_13-b, MISRAC2012-DIR_4_13-f, MISRAC2012-RULE_10_1-a, MISRAC2012-RULE_11_3-a, MISRAC2012-RULE_11_4-a, MISRAC2012-RULE_11_8-a, MISRAC2012-RULE_12_2-a, MISRAC2012-RULE_14_3-ac, MISRAC2012-RULE_15_6-b, MISRAC2012-RULE_17_4-a, MISRAC2012-RULE_17_4-b, MISRAC2012-RULE_18_5-a, MISRAC2012-RULE_18_6-a, MISRAC2012-RULE_18_8-a, MISRAC2012-RULE_1_3-a, MISRAC2012-RULE_1_3-b, MISRAC2012-RULE_1_3-c, MISRAC2012-RULE_1_3-m, MISRAC2012-RULE_21_16-a, MISRAC2012-RULE_22_1-a, MISRAC2012-RULE_22_2-a, MISRAC2012-RULE_22_6-a, MISRAC2012-RULE_2_2-b, MISRAC2012-RULE_5_6-a, MISRAC2012-RULE_5_7-a, MISRAC2012-RULE_5_8-a, MISRAC2012-RULE_5_9-a, MISRAC2012-RULE_5_9-b, MISRAC2012-RULE_8_13-a, MISRAC2012-RULE_8_9-a, MISRAC2012-RULE_9_1-a, MISRAC2012-RULE_9_4-a |
MISRA C++ 202X | MISRACPP202X-0090-a, MISRACPP202X-0097-a, MISRACPP202X-0110-b, MISRACPP202X-0150-a, MISRACPP202X-0152-a, MISRACPP202X-0280-b |
命名规范 | NAMING-20, NAMING-47 |
面向对象 | OOP-07, OOP-48 |
OWASP Top 10 2017 | OWASP2017-A6-a |
OWASP Top 10 2019 | OWASP2019-API4-b, OWASP2019-API7-b |
OWASP Top 10 2021 | OWASP2021-A5-a |
潜在的缺陷 | PB-41_b, PB-69 |
安全性 | SECURITY-25 |
STL 最佳实践 | STL-31, STL-34, STL-35 |
规则 ID | 注意 |
---|---|
AUTOSAR-A8_4_7-b | 从 AUTOSAR C++ 14 配置中删除 - 替换为 AUTOSAR-A8_4_7-a。 |
CERT_C-ERR33-c | 从 CERT C 配置中删除。对于其他配置,可以使用 BD-PB-NP 作为替代。 |
CERT_C-FIO41-c | 从 CERT C 配置中删除。对于其他配置,可以使用 MISRA2004-12_2_c 作为替代。 |
CERT_C-FIO41-d | 从 CERT C 配置中删除。对于其他配置,可以使用 MISRA2004-12_2_d 作为替代。 |
CERT_C-FIO41-e | 从 CERT C 配置中删除。对于其他配置,可以使用 CODSTA-123 作为替代。 |
CERT_C-POS54-b | 从 CERT C 配置中删除。对于其他配置,可以使用 CODSTA-122_b 作为替代。 |
CERT_C-POS54-c | 从 CERT C 配置中删除。对于其他配置,可以使用 BD-PB-NP 作为替代。 |
CODSTA-180 | 可以使用 GLOBAL-REUSEDEXTVAR、GLOBAL-REUSEDEXTFUN 作为代替。 |
HICPP-8_2_3-b | 从高完整性 C++ 配置中删除 - 替换为 HICPP-8_2_3-a |
MISRA2012-RULE-1_4_d | 从 MISRA C 2012 配置中删除。对于其他配置,可以使用 CODSTA-214 作为替代。 |
MISRA2012-RULE-1_4_e | 从 MISRA C 2012 配置中删除。对于其他配置,可以使用 CODSTA-209 作为替代。 |
MISRA2012-RULE-1_4_f | 从 MISRA C 2012 配置中删除。对于其他配置,可以使用 CODSTA-210 作为替代。 |
MISRA2012-RULE-1_4_g | 从 MISRA C 2012 配置中删除。对于其他配置,可以使用 CODSTA-211 作为替代。 |
MISRA2012-RULE-5_6_b | 从 MISRA C 2012 配置中删除。对于其他配置,可以使用 MISRA2004-5_3_b 作为替代。 |
MISRA2012-RULE-5_7_b | 从 MISRA C 2012 配置中删除。对于其他配置,可以使用 MISRA2004-5_4_b 作为替代。 |
MISRAC2012-RULE_1_4-d | 从 MISRA C 2012 配置中删除。对于其他配置,可以使用 CODSTA-214 作为替代 |
MISRAC2012-RULE_1_4-e | 从 MISRA C 2012 配置中删除。对于其他配置,可以使用 CODSTA-209 作为替代。 |
MISRAC2012-RULE_1_4-f | 从 MISRA C 2012 配置中删除。对于其他配置,可以使用 CODSTA-210 作为替代。 |
MISRAC2012-RULE_1_4-g | 从 MISRA C 2012 配置中删除。对于其他配置,可以使用 CODSTA-211 作为替代。 |
MISRAC2012-RULE_5_6-b | 从 MISRA C 2012 配置中删除。对于其他配置,可以使用 MISRA2004-5_3_b 作为替代。 |
MISRAC2012-RULE_5_7-b | 从 MISRA C 2012 配置中删除。对于其他配置,可以使用 MISRA2004-5_4_b 作为替代。 |
有关此版本的信息,请参阅 https://docs.parasoft.com/display/CPPTESTPROEC20231/Updates+in+2023.1。 |