This release includes the following enhancements: Release date: November 28, 2022 Enhanced Automotive Compliance PackThe Automotive Pack has been extended to help you achieve compliance with the automotive standards.
Enhanced Security Compliance PackThe Security Pack has been extended with new 2022 CWE Top 25 and 2022 CWE Top 25 + on the Cusp test configurations to help you achieve compliance with the security standards. Enhanced Static Analysis
Enhanced Unit Testing
Support for CompilersThe following compilers are now supported:
New and Updated Code Analysis RulesNew code analysis rules have been added to extend coverage of compliance standards. See New Rules and Updated Rules for the lists of new and updated rules. New Test ConfigurationsThe following test configurations have been added:
The following test configurations have been updated with new rules:
Additional Updates
Deprecated FeaturesThe following functions of the Team Server are now deprecated and will be removed in 2023:
Resolved Bugs and FRs
|
Rule ID | Header |
---|---|
AUTOSAR-M17_0_5-b | The standard header files <setjmp.h> or <csetjmp> shall not be used |
AUTOSAR-M18_0_4-b | The time handling functions and macros of the library <time.h> shall not be used |
AUTOSAR-M18_0_4-c | The types defined in the library <time.h> shall not be used |
BD-API-REALLOC | Do not pass 0 value as a size argument to the realloc function |
BD-PB-NANINF | Do not use floating-point expressions which may result in NaN and infinity values |
BD-PB-UNGETC | Do not use the ungetc function on a stream with the file position indicator zero |
CODSTA-02_b | A member of a union shall not be declared as a bit-field |
CODSTA-108_c | All arguments to any type-generic macros declared in <tgmath.h> shall have appropriate essential type |
CODSTA-108_d | All arguments to any multi-argument type-generic macros declared in <tgmath.h> shall have the same standard type |
CODSTA-109_b | The standard header file <fenv.h> shall not be used |
CODSTA-136_c | The standard header file <stdarg.h> or <cstdarg> shall not be used |
CODSTA-18_b | 'Do' statements should not be used except in a function-like macro |
CODSTA-209_b | Do not use the macro ATOMIC_VAR_INIT |
CODSTA-225 | Floating-point expressions shall not be explicitly (syntactically) tested for equality (==) or inequality (!=) |
CODSTA-MC-01 | The 'alignof' operator should not be used with an array type as its operand |
CODSTA-MC-02 | A declaration of an object should contain at most one explicit alignment specifier |
CODSTA-MC-03 | The zero-alignment specifier should not be used in an object declaration |
CODSTA-MC-04 | Explicit alignment specifiers in all declarations of an object with internal linkage shall be the same |
CODSTA-MC-05 | Every generic selection shall contain a default association |
CODSTA-MC-06 | The default association shall be placed first or last in the association list |
CODSTA-MC-07 | A generic selection shall indicate at least one non-default association |
CODSTA-MC-08 | A generic selection should only be expanded from a macro |
CODSTA-MC-09 | A generic association shall list an appropriate type |
CODSTA-MC-10 | A generic selection used in a macro definition should have a macro parameter in the controlling expression |
CODSTA-MC-11 | A generic selection should not depend on implicit pointer type conversion |
CODSTA-MC-12 | The controlling expression of a generic selection shall have an essential type that matches its standard type |
CODSTA-MC-13 | A generic selection that is not expanded from a macro shall not contain potential side effects in the controlling expression |
CODSTA-MC-14 | Enumerated types should not be mixed with integer types in generic selections |
CODSTA-MC-15 | A generic selection that is expanded from a macro shall evaluate its argument only once |
CODSTA-MCPP-56 | If a class declares a copy or move operation, or a destructor, either via '=default', '=delete', or via a user-provided declaration, then all others of these five special member functions shall be declared as well |
CWE-312-a | Avoid passing sensitive data to functions that write to log files |
CWE-401-a | Ensure resources are freed |
CWE-427-a | Use care to ensure that LoadLibrary() will load the correct library |
CWE-59-a | Avoid race conditions while checking for the existence of a symbolic link |
CWE-668-a | Protect against file name injection |
CWE-77-a | Protect against command injection |
CWE-843-a | A cast should not be performed between a pointer to object type and a different pointer to object type |
GLOBAL-ALIGNDECL | Explicit alignment specifiers in all declarations of an object with external linkage shall be the same |
INIT-17_b | User-defined constructors that initialize data members with the same constant values across all constructors should initialize using NSDMI instead |
INIT-18 | Both NSDMI and a non-static member initializer in a constructor shall not be used in the same type |
MISRA2004-20_12_b | The time handling functions and macros of the library <time.h> shall not be used |
MISRA2004-20_12_c | The types defined in the library <time.h> shall not be used |
MISRA2008-18_0_4_b | The time handling functions and macros of library <ctime> shall not be used |
MISRA2008-18_0_4_c | The types defined in the library <ctime> shall not be used |
MISRA2012-DIR-4_15 | Do not use floating-point expressions which may result in NaN and infinity values |
MISRA2012-RULE-10_1_h | Floating-point expressions shall not be explicitly (syntactically) tested for equality (==) or inequality (!=) |
MISRA2012-RULE-17_10 | A function declared with a _Noreturn function specifier shall have void return type |
MISRA2012-RULE-17_11 | A function that never returns should be declared with a _Noreturn function specifier |
MISRA2012-RULE-17_12 | A function identifier shall only be used with either a preceding &, or with a parenthesised parameter list |
MISRA2012-RULE-17_13 | A function type shall not be type qualified |
MISRA2012-RULE-17_1_c | The standard header file <stdarg.h> shall not be used |
MISRA2012-RULE-17_9 | A function declared with a _Noreturn function specifier shall not return to its caller |
MISRA2012-RULE-18_9 | An object shall not be used outside its lifetime |
MISRA2012-RULE-1_5 | The static storage class specifier shall be used in definitions and declarations of objects and functions that have internal linkage |
MISRA2012-RULE-1_5_b | Storage type modifiers shall be associated with the type, not the variable or the function |
MISRA2012-RULE-1_5_c | Function types shall be in prototype form |
MISRA2012-RULE-1_5_d | Do not use macro ATOMIC_VAR_INIT |
MISRA2012-RULE-1_5_e | Do not use 'bool', 'false' or 'true' identifiers in the #undef directive |
MISRA2012-RULE-1_5_f | Do not use the ungetc function on a stream with the file position indicator 0 |
MISRA2012-RULE-1_5_g | Do not pass 0 value as a size argument to the realloc function |
MISRA2012-RULE-21_10_b | The time handling functions and macros of library <time.h> shall not be used |
MISRA2012-RULE-21_10_c | The types defined in the library <time.h> shall not be used |
MISRA2012-RULE-21_12_b | The standard header file <fenv.h> shall not be used |
MISRA2012-RULE-21_22 | All arguments to any type-generic macros declared in <tgmath.h> shall have appropriate essential type |
MISRA2012-RULE-21_23 | All arguments to any multi-argument type-generic macros declared in <tgmath.h> shall have the same standard type |
MISRA2012-RULE-21_24 | The random number generator functions of <stdlib.h> shall not be used |
MISRA2012-RULE-23_1 | A generic selection should only be expanded from a macro |
MISRA2012-RULE-23_1_b | A generic selection used in a macro definition should have a macro parameter in the controlling expression |
MISRA2012-RULE-23_2 | A generic selection that is not expanded from a macro shall not contain potential side effects in the controlling expression |
MISRA2012-RULE-23_3 | A generic selection should contain at least one non-default association |
MISRA2012-RULE-23_4 | A generic association shall list an appropriate type |
MISRA2012-RULE-23_5 | A generic selection should not depend on implicit pointer type conversion |
MISRA2012-RULE-23_6 | The controlling expression of a generic selection shall have an essential type that matches its standard type |
MISRA2012-RULE-23_6_b | Enumerated types should not be mixed with integer types in generic selections |
MISRA2012-RULE-23_7 | A generic selection that is expanded from a macro should evaluate its argument only once |
MISRA2012-RULE-23_8 | A default association shall appear as either the first or the last association of a generic selection |
MISRA2012-RULE-6_3 | A bit field shall not be declared as a member of a union |
MISRA2012-RULE-7_5 | The argument of an integer-constant macro shall have an appropriate form |
MISRA2012-RULE-8_15 | All declarations of an object with external linkage and an explicit alignment specification shall specify the same alignment |
MISRA2012-RULE-8_15_b | All declarations of an object with internal linkage and an explicit alignment specification shall specify the same alignment |
MISRA2012-RULE-8_16 | The alignment specification of zero should not appear in an object declaration |
MISRA2012-RULE-8_17 | At most one explicit alignment specifier should appear in an object declaration |
MISRAC2012-DIR_4_15-a | Do not use floating-point expressions which may result in NaN and infinity values |
MISRAC2012-RULE_10_1-h | Floating-point expressions shall not be explicitly (syntactically) tested for equality (==) or inequality (!=) |
MISRAC2012-RULE_17_1-c | The standard header file <stdarg.h> or <cstdarg> shall not be used |
MISRAC2012-RULE_17_10-a | Functions declared as 'noreturn' shall have the 'void' return type |
MISRAC2012-RULE_17_11-a | Declare non-returning functions with the attribute that specifies that they do not return |
MISRAC2012-RULE_17_12-a | A function identifier shall only be used with either a preceding '&', or with a parenthesised parameter list, which may be empty |
MISRAC2012-RULE_17_13-a | Do not include any type qualifiers in the specification of a function type |
MISRAC2012-RULE_17_9-a | Never return from functions that should not return |
MISRAC2012-RULE_18_9-a | Do not modify objects with temporary lifetime |
MISRAC2012-RULE_1_5-a | The static storage class specifier shall be used in definitions and declarations of objects and functions that have internal linkage |
MISRAC2012-RULE_1_5-b | Storage type modifiers shall be associated with the type, not the variable or the function |
MISRAC2012-RULE_1_5-c | Function types shall be in prototype form |
MISRAC2012-RULE_1_5-d | Do not use the macro ATOMIC_VAR_INIT |
MISRAC2012-RULE_1_5-e | Do not use the 'bool', 'false' or 'true' identifiers in the #undef directive |
MISRAC2012-RULE_1_5-f | Do not use the ungetc function on a stream with the file position indicator zero |
MISRAC2012-RULE_1_5-g | Do not pass 0 value as a size argument to the realloc function |
MISRAC2012-RULE_21_10-b | The time handling functions and macros of the library <time.h> shall not be used |
MISRAC2012-RULE_21_10-c | The types defined in the library <time.h> shall not be used |
MISRAC2012-RULE_21_12-b | The standard header file <fenv.h> shall not be used |
MISRAC2012-RULE_21_22-a | All arguments to any type-generic macros declared in <tgmath.h> shall have appropriate essential type |
MISRAC2012-RULE_21_23-a | All arguments to any multi-argument type-generic macros declared in <tgmath.h> shall have the same standard type |
MISRAC2012-RULE_21_24-a | The random number generator functions 'rand()' and 'srand()' should not be used |
MISRAC2012-RULE_23_1-a | A generic selection should only be expanded from a macro |
MISRAC2012-RULE_23_1-b | A generic selection used in a macro definition should have a macro parameter in the controlling expression |
MISRAC2012-RULE_23_2-a | A generic selection that is not expanded from a macro shall not contain potential side effects in the controlling expression |
MISRAC2012-RULE_23_3-a | A generic selection shall indicate at least one non-default association |
MISRAC2012-RULE_23_4-a | A generic association shall list an appropriate type |
MISRAC2012-RULE_23_5-a | A generic selection should not depend on implicit pointer type conversion |
MISRAC2012-RULE_23_6-a | The controlling expression of a generic selection shall have an essential type that matches its standard type |
MISRAC2012-RULE_23_6-b | Enumerated types should not be mixed with integer types in generic selections |
MISRAC2012-RULE_23_7-a | A generic selection that is expanded from a macro shall evaluate its argument only once |
MISRAC2012-RULE_23_8-a | The default association shall be placed first or last in the association list |
MISRAC2012-RULE_6_3-a | A member of a union shall not be declared as a bit-field |
MISRAC2012-RULE_7_5-a | Arguments of integer-constant macros should be decimal, octal, or hexadecimal constants with appropriate values |
MISRAC2012-RULE_8_15-a | Explicit alignment specifiers in all declarations of an object with external linkage shall be the same |
MISRAC2012-RULE_8_15-b | Explicit alignment specifiers in all declarations of an object with internal linkage shall be the same |
MISRAC2012-RULE_8_16-a | The zero-alignment specifier should not be used in an object declaration |
MISRAC2012-RULE_8_17-a | A declaration of an object should contain at most one explicit alignment specifier |
MISRACPP202X-0023-a | Trigraphs shall not be used |
MISRACPP202X-0025-a | The character sequence /* shall not be used within a C-style comment |
MISRACPP202X-0035-a | Octal constants (other than zero) shall not be used |
MISRACPP202X-0036-a | A 'U' suffix shall be applied to all constants of unsigned type |
MISRACPP202X-0039-a | #include statements in a file should only be preceded by other preprocessor directives or comments |
MISRACPP202X-0042-a | A function should be used in preference to a function-like macro |
MISRACPP202X-0043-a | Arguments to a function-like macro shall not contain tokens that look like preprocessing directives |
MISRACPP202X-0045-a | Do not use in preprocessor directives #if and #elif macros not defined in translation unit |
MISRACPP202X-0046-a | Preprocessing directives shall be syntactically meaningful even when excluded by the preprocessor |
MISRACPP202X-0049-a | When an array is declared with external linkage, its size shall be stated explicitly or defined implicitly by initialisation |
MISRACPP202X-0064-a | Prefer 'nullptr' over 'NULL' or '0'(zero) |
MISRACPP202X-0087-a | A pointer to a virtual base class shall only be cast to a pointer to a derived class by means of dynamic_cast |
MISRACPP202X-0089-a | C-style casts (other than void casts) and functional notation casts (other than explicit constructor calls) shall not be used |
MISRACPP202X-0090-a | A cast shall not remove any 'const' or 'volatile' qualification from the type of a pointer or reference |
MISRACPP202X-0096-a | Avoid overloading logical operators AND, OR (&&, ||) |
MISRACPP202X-0096-b | Avoid overloading comma operator "," |
MISRACPP202X-0097-a | Do not pass expression with array type to a function with pointer or array type parameter |
MISRACPP202X-0100-a | The unary & operator shall not be overloaded |
MISRACPP202X-0105-a | The comma operator shall not be used |
MISRACPP202X-0110-a | The statement forming the body of a 'switch', 'while', 'do...while' or 'for' statement shall be a compound statement |
MISRACPP202X-0110-b | 'if' and 'else' should be followed by a compound statement |
MISRACPP202X-0125-a | Any label referenced by a goto statement shall be declared in the same block, or in a block enclosing the goto statement |
MISRACPP202X-0133-a | The global namespace shall only contain main() and namespace declarations |
MISRACPP202X-0134-a | The identifier main shall not be used for a function other than the global function main |
MISRACPP202X-0135-a | There shall be no unnamed namespaces in header files |
MISRACPP202X-0143-a | The address of an object with automatic storage shall not be assigned to another object that may persist after the first object has ceased to exist |
MISRACPP202X-0143-b | The lambda that captures local objects by reference should not be assigned to the variable with a greater lifetime |
MISRACPP202X-0145-a | Do not use recursion |
MISRACPP202X-0146-a | Each variable should be declared in a separate declaration statement |
MISRACPP202X-0147-a | Do not redefine an inherited virtual function with a different default parameter value |
MISRACPP202X-0148-a | The identifiers va_list, va_arg, va_start, va_end, va_copy should not be used |
MISRACPP202X-0150-a | All exit paths from a function with non-void return type shall have an explicit return statement with an expression |
MISRACPP202X-0152-a | Avoid use before initialization |
MISRACPP202X-0158-a | Unions shall not be used |
MISRACPP202X-0159-a | Do not declare member variables as bit-fields |
MISRACPP202X-0162-a | Named bit-fields with signed integer type shall have a length of more than one bit |
MISRACPP202X-0163-a | Classes should not be derived from virtual bases |
MISRACPP202X-0165-a | A base class shall not be both virtual and non-virtual in the same hierarchy |
MISRACPP202X-0171-a | Do not use dynamic type of an object under construction |
MISRACPP202X-0171-b | Do not use dynamic type of an object under destruction |
MISRACPP202X-0173-a | Constructors allowing for conversion should be made explicit |
MISRACPP202X-0173-b | User-conversion cast operators should be made explicit |
MISRACPP202X-0187-a | An exception object should not have pointer type |
MISRACPP202X-0207-a | Use multiple include guards |
MISRACPP202X-0208-a | Non-standard characters should not occur in header file names in #include directives |
MISRACPP202X-0210-a | The #include directive shall be followed by either a <filename> or "filename" sequence |
MISRACPP202X-0212-a | The # and ## preprocessor operators should not be used |
MISRACPP202X-0222-a | Pointers returned by certain Standard Library functions should not be used following a subsequent call to the same or related function |
MISRACPP202X-0239-a | A pointer to member virtual function shall only be tested for equality with null-pointer-constant |
MISRACPP202X-0280-a | Do not subsequently use the argument to std::forward |
MISRACPP202X-0280-b | Do not rely on the value of a moved-from object |
MISRACPP202X-0320-a | Octal and hexadecimal escape sequences shall be terminated |
MISRACPP202X-0324-a | Do not delete objects with incomplete class at the point of deletion |
MISRACPP202X-0343-a | Each overriding virtual function shall be declared with the override or final specifier |
MISRACPP202X-0343-b | Only one of virtual, override or final should be specified in a member function declaration |
MISRACPP202X-0359-a | Never return from functions that should not return |
MISRACPP202X-0370-a | A macro parameter used as an operand to the # or ## operators, which is itself subject to further macro replacement, shall only be used as an operand to these operators |
PREPROC-27 | Do not use the 'bool', 'false' or 'true' identifiers in the #undef directive |
Category ID | Rule IDs |
---|---|
DISA ASD STIG | APSC_DV-001995-c, APSC_DV-002290-d, APSC_DV-002520-e, APSC_DV-002530-e, APSC_DV-002550-e, APSC_DV-002560-e, APSC_DV-002590-b, APSC_DV-002590-d |
AUTOSAR C++14 Coding Guidelines | AUTOSAR-A0_1_1-a, AUTOSAR-A0_1_4-a, AUTOSAR-A0_4_4-a, AUTOSAR-A12_0_1-a, AUTOSAR-A12_1_2-a, AUTOSAR-A12_1_3-a, AUTOSAR-A27_0_1-b, AUTOSAR-A27_0_2-a, AUTOSAR-A27_0_2-b, AUTOSAR-A5_2_5-a, AUTOSAR-A5_2_5-d, AUTOSAR-A5_2_6-a, AUTOSAR-A5_3_2-a, AUTOSAR-A5_6_1-a, AUTOSAR-A6_5_3-a, AUTOSAR-A9_3_1-a, AUTOSAR-A9_6_2-a, AUTOSAR-M0_1_2-ac, AUTOSAR-M0_3_1-b, AUTOSAR-M0_3_1-d, AUTOSAR-M0_3_1-e, AUTOSAR-M0_3_1-f, AUTOSAR-M0_3_1-g, AUTOSAR-M0_3_2-a, AUTOSAR-M14_6_1-a, AUTOSAR-M16_0_7-a, AUTOSAR-M17_0_5-a, AUTOSAR-M18_7_1-a, AUTOSAR-M3_4_1-a, AUTOSAR-M3_4_1-b, AUTOSAR-M5_0_16-a, AUTOSAR-M5_0_6-a, AUTOSAR-M6_2_3-a, AUTOSAR-M6_4_3-c, AUTOSAR-M6_4_4-a, AUTOSAR-M8_5_2-b, AUTOSAR-M9_3_3-a |
Flow Analysis | BD-API-BADPARAM, BD-API-STRSIZE, BD-API-VALPARAM, BD-PB-ARRAY, BD-PB-CC, BD-PB-MCCSTR, BD-PB-MODSTR, BD-PB-NORETDECL, BD-PB-NP, BD-PB-OVERFNZT, BD-PB-OVERFWR, BD-PB-OVERFWR, BD-PB-UCMETH, BD-PB-VOVR, BD-PB-WRRSTR, BD-PB-ZERO, BD-SECURITY-ARRAY, BD-TRS-FRC |
SEI CERT C | CERT_C-API01-a, CERT_C-ARR30-a, CERT_C-ARR38-b, CERT_C-ARR38-d, CERT_C-ARR39-a, CERT_C-CON35-a, CERT_C-CON37-a, CERT_C-DCL06-a, CERT_C-DCL19-a, CERT_C-DCL22-a, CERT_C-ENV01-c, CERT_C-ERR33-c, CERT_C-EXP08-b, CERT_C-EXP34-a, CERT_C-EXP35-a, CERT_C-EXP37-a, CERT_C-EXP37-b, CERT_C-FIO24-a, CERT_C-FIO37-a, CERT_C-FIO45-a, CERT_C-FLP03-a, CERT_C-FLP32-a, CERT_C-INT10-a, CERT_C-INT31-a, CERT_C-INT31-h, CERT_C-INT31-i, CERT_C-INT31-j, CERT_C-INT31-k, CERT_C-INT31-l, CERT_C-INT31-m, CERT_C-INT31-n, CERT_C-INT33-a, CERT_C-MSC19-a, CERT_C-MSC19-b, CERT_C-MSC22-a, CERT_C-MSC33-a, CERT_C-POS30-a, CERT_C-POS44-a, CERT_C-POS54-c, CERT_C-SIG00-a, CERT_C-SIG01-a, CERT_C-SIG02-a, CERT_C-STR03-a, CERT_C-STR30-b, CERT_C-STR31-a, CERT_C-STR31-b, CERT_C-STR32-a |
SEI CERT C++ | CERT_CPP-ERR52-a, CERT_CPP-EXP60-a, CERT_CPP-OOP57-a, CERT_CPP-OOP57-b, CERT_CPP-STR50-b, CERT_CPP-STR50-c, CERT_CPP-STR51-a |
Coding Conventions | CODSTA-02, CODSTA-109, CODSTA-152, CODSTA-156_a, CODSTA-156_b, CODSTA-157, CODSTA-161_a, CODSTA-163_a, CODSTA-163_b, CODSTA-164_a, CODSTA-164_b, CODSTA-165_a, CODSTA-165_b, CODSTA-165_c, CODSTA-196, CODSTA-222, CODSTA-29 |
Coding Conventions for C++ | CODSTA-CPP-78, CODSTA-CPP-88, CODSTA-CPP-93, CODSTA-CPP-94 |
Common Weakness Enumeration | CWE-119-a, CWE-119-e, CWE-119-f, CWE-125-a, CWE-20-a, CWE-362-b, CWE-476-a, CWE-787-a, CWE-787-d |
High Integrity C++ | HICPP-1_2_1-h, HICPP-1_2_1-i, HICPP-3_5_1-b, HICPP-5_2_1-a, HICPP-5_2_1-c, HICPP-5_5_1-a, HICPP-6_3_1-a, HICPP-6_4_1-a, HICPP-9_1_1-a, HICPP-9_1_4-a |
Joint Strike Fighter | JSF-020, JSF-021_b, JSF-105, JSF-115, JSF-136_a, JSF-136_b, JSF-209, JSF-209_b |
MISRA C 1998 | MISRA-054 |
MISRA C 2004 | MISRA2004-14_3, MISRA2004-15_1, MISRA2004-16_10, MISRA2004-19_11_b, MISRA2004-20_7, MISRA2004-20_8_b, MISRA2004-6_3, MISRA2004-6_3_b, MISRA2004-8_7, MISRA2004-9_2_b |
MISRA C++ 2008 | MISRA2008-0_1_2_aa, MISRA2008-0_1_6, MISRA2008-0_3_1_a, MISRA2008-0_3_1_b, MISRA2008-0_3_1_c, MISRA2008-0_3_1_e, MISRA2008-0_3_1_h, MISRA2008-0_3_2, MISRA2008-14_6_1, MISRA2008-16_0_7_b, MISRA2008-17_0_5, MISRA2008-18_7_1_b, MISRA2008-3_4_1_a, MISRA2008-3_4_1_b, MISRA2008-5_0_16_a, MISRA2008-5_0_6_a, MISRA2008-6_2_3, MISRA2008-6_4_3_a, MISRA2008-6_4_4, MISRA2008-8_5_2_b, MISRA2008-9_3_2_b, MISRA2008-9_3_3 |
MISRA C 2012 (Legacy) | MISRA2012-DIR-4_11, MISRA2012-DIR-4_14_a, MISRA2012-DIR-4_1_a, MISRA2012-DIR-4_1_b, MISRA2012-DIR-4_1_c, MISRA2012-DIR-4_1_e, MISRA2012-DIR-4_1_h, MISRA2012-DIR-4_6_a, MISRA2012-DIR-4_6_b, MISRA2012-RULE-10_1_a, MISRA2012-RULE-10_3_a, MISRA2012-RULE-10_3_b, MISRA2012-RULE-10_4_a, MISRA2012-RULE-10_4_b, MISRA2012-RULE-10_5_a, MISRA2012-RULE-10_5_b, MISRA2012-RULE-10_5_c, MISRA2012-RULE-10_6, MISRA2012-RULE-10_7_a, MISRA2012-RULE-10_7_b, MISRA2012-RULE-10_8, MISRA2012-RULE-14_3_zc, MISRA2012-RULE-16_1_b, MISRA2012-RULE-16_2, MISRA2012-RULE-18_1_a, MISRA2012-RULE-1_3_a, MISRA2012-RULE-1_3_e, MISRA2012-RULE-20_9_b, MISRA2012-RULE-21_10, MISRA2012-RULE-21_12, MISRA2012-RULE-21_14, MISRA2012-RULE-21_17_a, MISRA2012-RULE-21_17_b, MISRA2012-RULE-21_18, MISRA2012-RULE-21_4_a, MISRA2012-RULE-21_5_b, MISRA2012-RULE-2_2_b, MISRA2012-RULE-8_9, MISRA2012-RULE-9_3 |
MISRA C 2012 | MISRAC2012-DIR_4_1-a, MISRAC2012-DIR_4_1-b, MISRAC2012-DIR_4_1-c, MISRAC2012-DIR_4_1-e, MISRAC2012-DIR_4_1-h, MISRAC2012-DIR_4_11-a, MISRAC2012-DIR_4_14-a, MISRAC2012-DIR_4_6-a, MISRAC2012-DIR_4_6-b, MISRAC2012-RULE_10_1-a, MISRAC2012-RULE_10_3-a, MISRAC2012-RULE_10_3-b, MISRAC2012-RULE_10_4-a, MISRAC2012-RULE_10_4-b, MISRAC2012-RULE_10_5-a, MISRAC2012-RULE_10_5-b, MISRAC2012-RULE_10_5-c, MISRAC2012-RULE_10_6-a, MISRAC2012-RULE_10_7-a, MISRAC2012-RULE_10_7-b, MISRAC2012-RULE_10_8-a, MISRAC2012-RULE_14_3-ac, MISRAC2012-RULE_16_1-b, MISRAC2012-RULE_16_2-a, MISRAC2012-RULE_18_1-a, MISRAC2012-RULE_1_3-a, MISRAC2012-RULE_1_3-e, MISRAC2012-RULE_20_9-b, MISRAC2012-RULE_21_10-a, MISRAC2012-RULE_21_12-a, MISRAC2012-RULE_21_14-a, MISRAC2012-RULE_21_17-a, MISRAC2012-RULE_21_17-b, MISRAC2012-RULE_21_18-a, MISRAC2012-RULE_21_4-a, MISRAC2012-RULE_21_5-b, MISRAC2012-RULE_2_2-b, MISRAC2012-RULE_8_9-a, MISRAC2012-RULE_9_3-a |
Object Oriented | OOP-36 |
Optimization | OOPT-01, OPT-03 |
OWASP Top 10 2019 | OWASP2019-API3-b, OWASP2019-API3-e, OWASP2019-API3-g |
Portability | PORT-31 |
Security | SECURITY-01, SECURITY-02 |
Templates | TEMPL-12 |
Rule ID | Notes |
---|---|
CERT_C-EXP37-c | Removed from CERT C configuration. For other configurations, CODSTA-159 can be used as a replacement. |
MISRA2008-2_10_6_d | Removed from MISRA C++ 2008 configuration. For other configurations, CODSTA-CPP-88 can be used as a replacement. |
MISRA2012-RULE-1_4_a | Removed from MISRA C 2012 configuration. For other configurations, CODSTA-216 can be used as a replacement. |
MISRA2012-RULE-1_4_b | Removed from MISRA C 2012 configuration. For other configurations, CODSTA-206 can be used as a replacement. |
MISRA2012-RULE-1_4_c | Removed from MISRA C 2012 configuration. For other configurations, CODSTA-207 can be used as a replacement. |
MISRA2012-RULE-1_4_h | Removed from MISRA C 2012 configuration. For other configurations, CODSTA-213 can be used as a replacement. |
MISRA2012-RULE-1_4_i | Removed from MISRA C 2012 configuration. For other configurations, CODSTA-208 can be used as a replacement. |
MISRA2012-RULE-21_11_b | Removed from MISRA C 2012 configuration. For other configurations, CODSTA-108_b can be used as a replacement. |
MISRAC2012-RULE_1_4-a | Removed from MISRA C 2012 configuration. For other configurations, CODSTA-216 can be used as a replacement. |
MISRAC2012-RULE_1_4-b | Removed from MISRA C 2012 configuration. For other configurations, CODSTA-206 can be used as a replacement. |
MISRAC2012-RULE_1_4-c | Removed from MISRA C 2012 configuration. For other configurations, CODSTA-207 can be used as a replacement. |
MISRAC2012-RULE_1_4-h | Removed from MISRA C 2012 configuration. For other configurations, CODSTA-213 can be used as a replacement. |
MISRAC2012-RULE_1_4-i | Removed from MISRA C 2012 configuration. For other configurations, CODSTA-208 can be used as a replacement. |
MISRAC2012-RULE_21_11-b | Removed from MISRA C 2012 configuration. For other configurations, CODSTA-108_b can be used as a replacement. |
For information about this release, see https://docs.parasoft.com/display/CPPTESTPROEC20222/Updates+in+2022.2. |