|
|
Andthen Operators
Mnemonic ANTH
Description Number of 'andthen' operators
Assignment Operators
Mnemonic ASOP
Description Number of assignment operators used in the source file
Number of comment blocks
Mnemonic BCOM
Description Number of comment blocks.
Header Blocks Of Comment
Mnemonic BHCO
Description Number block of comment placed before the beginning of the artefact.
Blank Lines
Mnemonic BLAN
Description Number of blank lines of code in the source file(s).
Brace Lines
Mnemonic BRAC
Description Number of lines of code containing only a brace in the source file(s).
Break in Loop
Mnemonic BRKL
Description Number of 'break' statements in loop in the function
Break in Switch
Mnemonic BRKS
Description Number of 'break' statements in 'switch' in the function
Case Blocks
Mnemonic CABL
Description Number of 'case' blocks in 'switch' in the function
Calls To
Mnemonic CAL2
Description Number of explicit calls to the function.
Called Functions
Mnemonic CALD
Description Number of distinct functions defined in the project source file and called by the function.
Calls From
Mnemonic CALF
Description Number of explicit calls from the function.
Calling Functions
Mnemonic CALI
Description Number of distinct functions calling the function.
Called External Functions
Mnemonic CALX
Description Number of distinct external functions called by the function - external i.e. not defined in the project
Case Labels
Mnemonic CASE
Description Number of 'case' labels in the function
Code Cloning Line Counting
Mnemonic CCLC
Description Number of lines in source code used when searching for code duplication
Cyclomatic Complexity
Mnemonic CCN
Description Number of linearly independent paths in the function control graph.
Recursive Calls
Mnemonic CDRI
Description Number of directly recursive calls in the function.
Control Flow Token
Mnemonic CFT
Description Number of tokens in the control flow of functions
Called Depth
Mnemonic CGDD
Description Maximum depth of called functions.
Calling Depth
Mnemonic CGDI
Description Maximum depth of calling functions.
Call Graph Depth
Mnemonic CGDM
Description Maximum depth of the call graph.
Minimum Number of Indirect Cycles
Mnemonic CIRI
Description Minimum number of indirect call graph cycles in which the function is involved (excluding recursive calls).
Comment Lines
Mnemonic CLOC
Description Number of lines of comments in the source file(s).
Continue Statements
Mnemonic CONT
Description Number of 'continue' statements in the function
Comparison Operators
Mnemonic CPOP
Description Number of comparison operators used in the source file
Commented Statements
Mnemonic CSTAT
Description Number of Commented Statements.
Minimum Number of Cycles
Mnemonic CYCL
Description Minimum number of call graph cycles in which the function is involved (including recursivity).
Default Statement
Mnemonic DEFT
Description Number of 'default' blocks in 'switch' in the function
Distinct Operands
Mnemonic DOPD
Description Number of distinct operands: variables and constants ([Halstead,76]: n2)
Distinct Operators
Mnemonic DOPT
Description Number of distinct operators: language keywords ([Halstead,76]: n1)
Do While Statements
Mnemonic DOWH
Description Number of 'do...while' statements in the function
Else Statements
Mnemonic ELSE
Description Number of 'else' statements
For Statements
Mnemonic FOR
Description Number of 'for' statements in the function
Structures Added
Mnemonic SADD
Description Number of control structures added since the previous version.
Structures Modified
Mnemonic SMOD
Description Number of control structures modified since the previous version.
Structures Removed
Mnemonic SREM
Description Number of control structures removed since the previous version.
Goto Statements
Mnemonic GOTO
Description Number of 'goto' statements
Header Lines Of Comment
Mnemonic HCOM
Description Number of comment lines placed before the beginning of the artefact.
Header Lines Of Code
Mnemonic HLOC
Description Number of lines between the function or class definition and the first opening brace.
Cloned Code
Mnemonic ICC
Description Duplicated code in this artefact
Cloned Control Flow Tokens
Mnemonic ICFTC
Description Number of duplicated tokens in control flow of functions
If Statements
Mnemonic IF
Description Number of 'if' statements
Line Count
Mnemonic LC
Description Number of lines.
Use of longjump
Mnemonic LONGJMP
Description Use of longjump
Loop Statements
Mnemonic LOOP
Description Number of loop statements in the function
Memory Allocation
Mnemonic MEMALLOC
Description Memory Allocation
Memory Freeing
Mnemonic MEMFREE
Description Memory Freeing
Mixed Lines
Mnemonic MLOC
Description Number of lines containing both code and comment in the source files.
Maximum Nested Structures
Mnemonic NEST
Description Maximum number of nested structures
Number of Parameters
Mnemonic NOP
Description Number of formal parameters in the function
Non-Cyclic Paths
Mnemonic PATH
Description Number of non-cyclic paths in the function.
Use of offsetof
Mnemonic OFFSETOF
Description Use of offsetof
Orelse operators
Mnemonic OREL
Description Number of 'orelse' operators
Number of #DEFINE
Mnemonic P_DEFINE
Description Number of #DEFINE
Number of #ELIF
Mnemonic P_ELIF
Description Number of #ELIF
Number of #ELSE
Mnemonic P_ELSE
Description Number of #ELSE
Number of #ENDIF
Mnemonic P_ENDIF
Description Number of #ENDIF
Number of #ERROR
Mnemonic P_ERROR
Description Number of #ERROR
Number of #IF
Mnemonic P_IF
Description Number of #IF
Number of #IFDEF
Mnemonic P_IFDEF
Description Number of #IFDEF
Number of #IFNDEF
Mnemonic P_IFNDEF
Description Number of #IFNDEF
Number of Include
Mnemonic P_INCLUDE
Description Number of Include
Compiler FLAG Nested Level
Mnemonic P_NEST
Description Compiler FLAG Nested Level
Number of #PRAGMA
Mnemonic P_PRAGMA
Description Number of #PRAGMA
Number of #UNDEF
Mnemonic P_UNDEF
Description Number of #UNDEF
Number of #WARNING
Mnemonic P_WARNING
Description Number of #WARNING
Return Statements
Mnemonic RETURN
Description Number of 'return' statements in the function
Repeated Code Blocks
Mnemonic RS
Description Duplicated blocks in the function
Use of setjump
Mnemonic SETJMP
Description Use of setjump
Signal Functions
Mnemonic SIGNAL
Description Use of signal Functions
Skipped Lines of Comment code
Mnemonic SKLC
Description Skipped Lines of Comment code i.e. lines that match a user defined regular expression to skip lines of comments.
Source Lines Of Code
Mnemonic SLOC
Description Number of lines of source code in the source file(s).
Special Operators
Mnemonic SPOP
Description Number of special operators used in the source file
Executable Statements
Mnemonic STAT
Description Total number of executable statements.
IO Functions
Mnemonic STDIO
Description Use IO Functions
String Conversions
Mnemonic STRINGCONV
Description Use of String Conversions
Switch Statements
Mnemonic SWIT
Description Number of 'switch' statements in the function
System Functions
Mnemonic SYSCOM
Description Use of system Functions
Ternary operators
Mnemonic TERN
Description Number of ternary operators i.e. ?:
Time Handling
Mnemonic TIMEHDL
Description Use of Time Handling
Operand Occurrences
Mnemonic TOPD
Description Number of occurrences of operands: variables and constants ([Halstead,76]: N2)
Operator Occurrences
Mnemonic TOPT
Description Number of occurrences of operators: language keywords ([Halstead,76]: N1)
Lines Added
Mnemonic LADD
Description Number of lines added since the previous version.
Lines Modified
Mnemonic LMOD
Description Number of lines modified since the previous version.
Lines Removed
Mnemonic LREM
Description Number of lines removed since the previous version.
While Statements
Mnemonic WHIL
Description Number of 'while' statements in the function
Missing Break
Mnemonic BRKFINAL
Description An unconditional break statement shall terminate every non-empty switch clause (see [MISRA-C:2004]: RULE 15.2).
Backward Goto shall not be used
Mnemonic BWGOTO
Description Backward gotos shall not be used.
Missing compound statement
Mnemonic COMPOUND
Description The statement forming the body of a switch, while, do ... while or for statement shall be a compound statement (see [MISRA-C:2004]: RULE 14.8).
Missing compound if
Mnemonic COMPOUNDIF
Description An if (expression) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement (see [MISRA-C:2004]: RULE 14.9).
Commented-out Source Code is not allowed
Mnemonic R_CSTAT
Description Commented-out Source Code is not allowed
Missing Default
Mnemonic DEFAULT
Description The final clause of a switch statement shall be the default clause (see [MISRA-C:2004]: RULE 15.3).
Dynamic Memory Allocation shall not be used
Mnemonic DYNMEMALLOC
Description Dynamic heap memory allocation shall not used. This precludes the use of the functions calloc, malloc, realloc and free (see [MISRA-C:2004]: RULE 20.4)
Missing final else
Mnemonic ELSEFINAL
Description All if ... else if constructs shall be terminated with an else clause (see [MISRA-C:2004]: RULE 14.10).
Macro longjmp or setjmp shall not be used
Mnemonic JUMP
Description (The setjmp macro and the longjmp function shall not be used (see [MISRA-C:2004]: RULE 20.7).
Nesting Level of Preprocessing directives is too high
Mnemonic R_MAXPNEST
Description Nesting Level of Preprocessing directives is too high
Assignment in Boolean
Mnemonic NOASGCOND
Description Assignment operators shall not be used in expressions that yield a boolean value
Assignment without Comparison
Mnemonic NOASGINBOOL
Description Assignment operators shall not be used in expressions that do not contain comparison operators.
Factorizable Classes
Mnemonic CAC_CL
Description Consider classes refactorization
Factorizable Files
Mnemonic CAC_FI
Description Consider files refactorization
Factorizable Functions
Mnemonic CAC_FN
Description Consider functions refactorization
Factorizable Packages
Mnemonic CAC_PKG
Description Consider packages refactorization
Cloned Classes
Mnemonic CC_CL
Description There shall be no duplicated classes
Cloned Files
Mnemonic CC_FI
Description There shall be no duplicated files
Cloned Functions
Mnemonic CC_FN
Description There shall be no duplicated functions
Cloned Algorithmic
Mnemonic CFTC_FN
Description There shall be no algorithmic cloning
There shall be a no code before first case
Mnemonic NOCODEBEFORECASE
Description There shall be a no code before the first case of a switch statement.
Continue shall not be used
Mnemonic NOCONT
Description The 'continue' statement shall not be used (see [MISRA-C:2004]: RULE 14.5).
Fallthrough shall be avoided
Mnemonic NOFALLTHROUGH
Description There shall be no fallthrough the next case in a switch statement.
FIXME shall not be commited in sources code
Mnemonic R_NOFIXME
Description FIXME shall not be commited in sources code as it brings confusion regarding code reliability.
GOTO shall not be used
Mnemonic NOGOTO
Description A unconditional GOTO shall not be used to jump outside the paragraph.
Label out a switch
Mnemonic NOLABEL
Description A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (see [MISRA-C:2004]: RULE 15.1).
Recursion are not allowed
Mnemonic NORECURSION
Description Functions shall not called themselves either directly or indirectly (see [MISRA-C:2004]: RULE 16.2).
Avoid Duplicated Blocks in Function
Mnemonic RS_FN
Description There shall be no duplicated parts in functions
TODO shall not be commited in sources code
Mnemonic R_NOTODO
Description TODO shall not be commited in sources code as it brings confusion regarding code reliability.
Macro offsetof shall not be used
Mnemonic OFFSETOF
Description The macro offsetof, in library <stddef.h>, shall not be used (see [MISRA-C:2004]: RULE 20.6).
Missing case in switch
Mnemonic ONECASE
Description Every switch statement shall have at least one case clause (see [MISRA-C:2004]: RULE 15.5).
Relaxed violation
Mnemonic RELAX
Description A rule violation is relaxed and justified.
Multiple exits are not allowed
Mnemonic RETURN
Description A function shall have a single point of exit at the end (see [MISRA-C:2004]: RULE 14.7).
Risky Empty Statement
Mnemonic RISKYEMPTY
Description Risky Empty Statement
Multiple break in loop are not allowed
Mnemonic SGLBRK
Description For any iteration statement there shall be at most one 'break' statement used for loop termination (see [MISRA-C:2004]: RULE 14.6).
Signal or Raise shall not be used
Mnemonic SIGNAL
Description The signal handling facilities of <signal.h> shall not be used (see [MISRA-C:2004]: RULE 20.8).
IO Functions shall not be used
Mnemonic STDIO
Description The input/output library <stdio.h> shall not be used in production code (see [MISRA-C:2004]: RULE 20.9).
'atof, atoi or atol' shall not be used
Mnemonic STRINGCONV
Description The library functions atof, atoi and atol from library <stdlib.h> shall not be used (see [MISRA-C:2004]: RULE 20.10).
'abort, exit, getenv or system' shall not be used
Mnemonic SYSCOM
Description The library functions abort, exit, getenv and system from library <stdlib.h> shall not be used (see [MISRA-C:2004]: RULE 20.11).
Time Handling Functions shall not be used
Mnemonic TIMEHDL
Description The time handling functions of library <time.h> shall not be used: time, strftime, clock, difftime, mktime (see [MISRA-C:2004]: RULE 20.12).