|  Checker  |  Guideline  | 
|---|
| AssignmentInSubExpression | EXP45-C. Do not perform assignments in selection statements | 
| ElseIfWithoutElse | MSC01-C. Strive for logical completeness | 
| IdentifierLongerThan31 | DCL23-C. Guarantee that mutually visible identifiers are unique | 
| IncAndDecMixedWithOtherOperators | EXP30-C. Do not depend on the order of evaluation for side effects | 
| LiteralSuffix | DCL16-C. Use "L," not "l," to indicate a long value | 
| NarrowAndWideStringConcat | STR10-C. Do not concatenate different type of string literals | 
| NonEmptyCaseWithoutBreak | MSC17-C. Finish every set of statements associated with a case label with a break statement | 
| ObsoletePosixFunction | POS33-C. Do not use vfork() | 
| OctalConstantAndSequence | DCL18-C. Do not begin integer constants with 0 when specifying a decimal value | 
| S121 | EXP19-C. Use braces for the body of an if, for, or while statement | 
| S810 | STR00-C. Represent characters using an appropriate type | 
| S810 | STR04-C. Use plain char for characters in the basic character set | 
| S814 | INT12-C. Do not make assumptions about the type of a plain int bit-field when used in an expression | 
| S819 | DCL31-C. Declare identifiers before using them | 
| S819 | DCL07-C. Include the appropriate type information in function declarators | 
| S820 | DCL31-C. Declare identifiers before using them | 
| S820 | INT07-C. Use only explicitly signed or unsigned char type for numeric values | 
| S834 | ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer | 
| S864 | EXP00-C. Use parentheses for precedence of operation | 
| S874 | INT13-C. Use bitwise operators only on unsigned operands | 
| S929 | DCL20-C. Explicitly specify void when a function accepts no arguments | 
| S930 | EXP37-C. Call functions with the correct number and type of arguments | 
| S930 | DCL07-C. Include the appropriate type information in function declarators | 
| S935 | MSC37-C. Ensure that control never reaches the end of a non-void function | 
| S960 | PRE00-C. Prefer inline or static functions to function-like macros | 
| S973 | MSC00-C. Compile cleanly at high warning levels | 
| S978 | DCL37-C. Do not declare or define a reserved identifier | 
| S982 | MSC22-C. Use the setjmp(), longjmp() facility securely | 
| S989 | ERR34-C. Detect errors when converting a string to a number | 
| S990 | ENV33-C. Do not call system() | 
| S1036 | MSC20-C. Do not use a switch statement to transfer control into a complex block | 
| S1065 | MSC12-C. Detect and remove code that has no effect or is never executed | 
| S1081 | STR07-C. Use the bounds-checking interfaces for string manipulation | 
| S1116 | EXP15-C. Do not place a semicolon on the same line as an if, for, or while statement | 
| S1116 | MSC12-C. Detect and remove code that has no effect or is never executed | 
| S1172 | MSC12-C. Detect and remove code that has no effect or is never executed | 
| S1578 | MSC09-C. Character encoding: Use subset of ASCII for safety | 
| S1656 | MSC12-C. Detect and remove code that has no effect or is never executed | 
| S1751 | MSC07-C. Detect and remove dead code | 
| S1751 | MSC12-C. Detect and remove code that has no effect or is never executed | 
| S1762 | MSC00-C. Compile cleanly at high warning levels | 
| S1763 | MSC07-C. Detect and remove dead code | 
| S1763 | MSC12-C. Detect and remove code that has no effect or is never executed | 
| S1764 | MSC12-C. Detect and remove code that has no effect or is never executed | 
| S1767 | INT36-C. Converting a pointer to integer or integer to pointer | 
| S1836 | EXP43-C. Avoid undefined behavior when using restrict-qualified pointers | 
| S1854 | MSC13-C. Detect and remove unused values | 
| S1862 | MSC12-C. Detect and remove code that has no effect or is never executed | 
| S2095 | FIO42-C. Close files when they are no longer needed | 
| S2193 | FLP30-C. Do not use floating-point variables as loop counters | 
| S2259 | EXP34-C. Do not dereference null pointers | 
| S2583 | MSC12-C. Detect and remove code that has no effect or is never executed | 
| S2589 | MSC12-C. Detect and remove code that has no effect or is never executed | 
| S2754 | MSC12-C. Detect and remove code that has no effect or is never executed | 
| S3518 | INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors | 
| S3584 | MEM31-C. Free dynamically allocated memory when no longer needed | 
| S3588 | FIO46-C. Do not access a closed file | 
| SideEffectInRightHandSideOfLogical | EXP02-C. Be aware of the short-circuit behavior of the logical AND and OR operators | 
| SingleDeclarationPerStatement | DCL04-C. Do not declare more than one variable per declaration | 
| SwitchWithoutDefault | MSC01-C. Strive for logical completeness | 
| TrigraphUsage | PRE07-C. Avoid using repeated question marks |