| Checker | Guideline |
| bad-function (AUTOSAR.26.5.1A) | MSC50-CPP. Do not use std::rand() for generating pseudorandom numbers |
| cast-integer-to-enum | INT50-CPP. Do not cast to an out-of-range enumeration value |
| catch-class-by-value | ERR61-CPP. Catch exceptions by lvalue reference |
| class-inconsistent-definitions | DCL60-CPP. Obey the one-definition rule |
| csa-call-uninitialized-function-pointer | EXP53-CPP. Do not read uninitialized memory |
| csa-call-uninitialized-object-pointer | EXP53-CPP. Do not read uninitialized memory |
| csa-double-free | MEM50-CPP. Do not access freed memory |
| csa-memory-leak | MEM51-CPP. Properly deallocate dynamically allocated resources |
| csa-mismathced-deallocator | MEM51-CPP. Properly deallocate dynamically allocated resources |
| csa-placement-new | MEM54-CPP. Provide placement new with properly aligned pointers to sufficient storage capacity |
| csa-stack-address-escape | EXP54-CPP. Do not access an object outside of its lifetime |
| csa-uninitialized-array-subscript | EXP53-CPP. Do not read uninitialized memory |
| csa-uninitialized-assign | EXP53-CPP. Do not read uninitialized memory |
| csa-uninitialized-binop-operand | EXP53-CPP. Do not read uninitialized memory |
| csa-uninitialized-branch-condition | EXP53-CPP. Do not read uninitialized memory |
| csa-uninitialized-return | EXP53-CPP. Do not read uninitialized memory |
| csa-use-after-free | MEM50-CPP. Do not access freed memory |
| default-construction | MSC51-CPP. Ensure your random number generator is properly seeded |
| default-new-overaligned-type | MEM57-CPP. Avoid using default operator new for over-aligned types |
| definition-duplicate | DCL60-CPP. Obey the one-definition rule |
| delete-with-incomplete-type | EXP57-CPP. Do not cast or delete pointers to incomplete classes |
| delete-without-noexcept | DCL57-CPP. Do not let exceptions escape from destructors or deallocation functions |
| destructor-without-noexcept | DCL57-CPP. Do not let exceptions escape from destructors or deallocation functions |
| early-catch-all | ERR51-CPP. Handle all exceptions |
| exception-caught-by-earlier-handler | ERR54-CPP. Catch handlers should order their parameter types from most derived to least derived |
| exception-handler-member-access | ERR53-CPP. Do not reference base classes or class data members in a constructor or destructor function-try-block handler |
| exception-propagation-outside-catch-all | ERR51-CPP. Handle all exceptions |
| external-file-spreading | DCL60-CPP. Obey the one-definition rule |
| function-ellipsis | DCL50-CPP. Do not define a C-style variadic function |
| include-setjmp | ERR52-CPP. Do not use setjmp() or longjmp() |
| include-time | OOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions |
| initializer-list-order | OOP53-CPP. Write constructor member initializers in the canonical order |
| invalid-noreturn | MSC53-CPP. Do not return from a function declared [[noreturn]] |
| main-function-catch-all | ERR51-CPP. Handle all exceptions |
| new-delete-pairwise | DCL54-CPP. Overload allocation and deallocation functions as a pair in the same scope |
| non-virtual-public-destructor-in-non-final-class | OOP52-CPP. Do not delete a polymorphic object without a virtual destructor |
| operator-new-requirements | MEM55-CPP. Honor replacement dynamic storage management requirements |
| pointer-qualifier-cast-const | EXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type |
| pointer-qualifier-cast-volatile | EXP55-CPP. Do not access a cv-qualified object through a cv-unqualified type |
| potentially-throwing-static-initialization | ERR58-CPP. Handle all exceptions thrown before main() begins executing |
| reserved-identifier | DCL51-CPP. Do not declare or define a reserved identifier |
| return-implicit | MSC52-CPP. Value-returning functions must return a value from all exit paths |
| return-reference-local | EXP54-CPP. Do not access an object outside of its lifetime |
| sizeof | EXP52-CPP. Do not rely on side effects in unevaluated operands |
| stdlib-use | ERR50-CPP. Do not abruptly terminate the program |
| stdlib-use | OOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions |
| stdlib-use-ato | OOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions |
| stdlib-use-getenv | OOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions |
| stdlib-use-string-unbounded | OOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions |
| stdlib-use-system | OOP57-CPP. Prefer special member functions and overloaded operators to C Standard Library functions |
| stream-input-char-array | STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator |
| type-compatibility | DCL60-CPP. Obey the one-definition rule |
| type-file-spreading | DCL60-CPP. Obey the one-definition rule |
| undefined-extern | DCL60-CPP. Obey the one-definition rule |
| undefined-extern-pure-virtual | DCL60-CPP. Obey the one-definition rule |
| unhandled-throw-noexcept | ERR50-CPP. Do not abruptly terminate the program |
| unhandled-throw-noexcept | ERR51-CPP. Handle all exceptions |
| unhandled-throw-noexcept | ERR55-CPP. Honor exception specifications |
| uninitialized-read | EXP53-CPP. Do not read uninitialized memory |
| unnamed-namespace-header | DCL59-CPP. Do not define an unnamed namespace in a header file |
| virtual-call-in-constructor | OOP50-CPP. Do not invoke virtual functions from constructors or destructors |