Start here

Home
About Klocwork
What's new
Fixed issues
Release notes
Installation

Reference

C/C++ checkers
Java checkers
C# checkers
MISRA C 2004 checkers
MISRA C++ 2008 checkers
MISRA C 2012 checkers
MISRA C 2012 checkers with Amendment 1
Commands
Metrics
Troubleshooting
Reference

Product components

C/C++ Integration build analysis
Java Integration build analysis
Desktop analysis
Refactoring
Klocwork Static Code Analysis
Klocwork Code Review
Structure101
Tuning
Custom checkers

Coding environments

Visual Studio
Eclipse for C/C++
Eclipse for Java
IntelliJ IDEA
Other

Administration

Project configuration
Build configuration
Administration
Analysis performance
Server performance
Security/permissions
Licensing
Klocwork Static Code Analysis Web API
Klocwork Code Review Web API

Community

View help online
Visit RogueWave.com
Klocwork Support
Rogue Wave Videos

Legal

Legal information

AUTOSAR Standard mapped to Klocwork C/C++ checkers

The AUTOSAR C++14 (17-10) taxonomy detects violations of our standard C/C++ checkers as well as detecting violations of the MISRA standard. To use this taxonomy, you must install the MISRA checkers. For more information, see Installing the MISRA checkers.

Rule Klocwork Checker Code and Description
A0-1-2, M0-1-1, M0-1-2, M0-1-3, M0-1-9: 6.0 Language independent issues / 6.0.1 Unnecessary constructs (req.)

CWARN.NOEFFECT.UCMP.GE

CWARN.NOEFFECT.UCMP.GE.MACRO

CWARN.NOEFFECT.UCMP.LT

CWARN.NOEFFECT.UCMP.LT.MACRO

LV_UNUSED.GEN

MISRA.FUNC.UNUSEDRET 

UNREACH.GEN

UNREACH.RETURN

VA_UNUSED.GEN

VA_UNUSED.INIT

M0-2-1: 6.0 Language independent issues / 6.0.2 Storage (req.)

MISRA.ASSIGN.OVERLAP 

A2-5-1: 6.2 Lexical conventions / 6.2.5 Trigraph sequences (req.)

MISRA.CHAR.TRIGRAPH 

A2-11-1, A2-11-3, M2-10-3, M2-10-6: 6.2 Lexical conventions / 6.2.11 Identifiers (req.)

MISRA.CT.UNIQUE.ID 

MISRA.TYPE.NAMECLASH 

MISRA.TYPEDEF.NOT_UNIQUE 

MISRA.VAR.HIDDEN 

A2-14-1, A2-14-2, M2-13-2, M2-13-3, M2-13-4: 6.2 Lexical conventions / 6.2.14 Literals (req.)

MISRA.LITERAL.SUFFIX.CASE 

MISRA.LITERAL.UNSIGNED.SUFFIX 

MISRA.STRINGS.CONCAT 

MISRA.TOKEN.OCTAL.ESCAPE 

MISRA.TOKEN.OCTAL.INT 

MISRA.TOKEN.WRONGESC 

A3-1-4, M3-1-2: 6.3 Basic concepts / 6.3.1 Declarations and definitions (req.)

MISRA.DECL.ARRAY_SIZE 

MISRA.DECL.FUNC_LOCAL 

M3-2-1: 6.3 Basic concepts / 6.3.2 One Definition Rule (req.)

MISRA.OBJ.TYPE.COMPAT 

A3-3-1, M3-3-2: 6.3 Basic concepts / 6.3.3 Scope (req.)

MISRA.FUNC.STATIC.REDECL 

MISRA.LINKAGE.EXTERN 

M3-4-1: 6.3 Basic concepts / 6.3.4 Name lookup (req.)

MISRA.VAR.MIN.VIS 

A3-9-1, M3-9-1, M3-9-3: 6.3 Basic concepts / 6.3.9 Types (req.)

MISRA.BUILTIN_NUMERIC 

MISRA.FLOAT.BIT.REPR 

MISRA.OBJ.TYPE.IDENT 

M4-5-1, M4-5-3: 6.4 Standard conversions / 6.4.5 Integral promotions (req.)

MISRA.CHAR.OPERAND 

MISRA.LOGIC.OPERATOR.NOT_BOOL 

A4-7-1: 6.4 Standard conversions / 6.4.7 Integral conversion (req.)

MISRA.CAST.FLOAT.WIDER 

MISRA.CAST.INT.WIDER 

MISRA.CONV.NUM.NARROWER 

M4-10-1, M4-10-2: 6.4 Standard conversions / 6.4.10 Pointer conversions (req.)

MISRA.LITERAL.NULL.INT 

MISRA.LITERAL.NULL.PTR 

A5-0-1, A5-0-2, A5-0-3, M5-0-3, M5-0-4, M5-0-5, M5-0-6, M5-0-7, M5-0-8, M5-0-9, M5-0-10, M5-0-11, M5-0-12, M5-0-14, M5-0-15, M5-0-20, M5-0-21: 6.5 Expressions / 6.5.0 General (req.)

MISRA.BITS.NOT_UNSIGNED 

MISRA.BITS.NOT_UNSIGNED.PREP 

MISRA.BITS.OPERAND 

MISRA.CAST.FLOAT.WIDER 

MISRA.CAST.FLOAT_INT 

MISRA.CAST.INT.SIGN 

MISRA.CAST.INT.WIDER 

MISRA.CAST.INT_FLOAT 

MISRA.CAST.UNSIGNED_BITS 

MISRA.CHAR.NOT_CHARACTER 

MISRA.CONV.FLOAT 

MISRA.CONV.INT.SIGN 

MISRA.CONV.NUM.NARROWER 

MISRA.CVALUE.IMPL.CAST.CPP 

MISRA.EXPR.COND.NOT_BOOLEAN 

MISRA.PTR.ARITH 

MISRA.PTR.TO_PTR_TO_PTR 

MISRA.SIGNED_CHAR.NOT_NUMERIC 

MISRA.STMT.COND.NOT_BOOLEAN 

PORTING.VAR.EFFECTS

A5-2-3, A5-2-5, M5-2-1, M5-2-2, M5-2-6, M5-2-8, M5-2-9, M5-2-10, M5-2-11, M5-2-12: 6.5 Expressions / 6.5.2 Postfix expressions (req.)

ABV.ANY_SIZE_ARRAY

ABV.GENERAL

ABV.ITERATOR

ABV.MEMBER

ABV.STACK

ABV.TAINTED

ABV.UNICODE.BOUND_MAP

ABV.UNICODE.FAILED_MAP

ABV.UNICODE.NNTS_MAP

ABV.UNICODE.SELF_MAP

ABV.UNKNOWN_SIZE

MISRA.BIN_OP.OVERLOAD 

MISRA.CAST.CONST 

MISRA.CAST.FUNC_PTR.CPP 

MISRA.CAST.INT_TO_PTR 

MISRA.CAST.PTR.VRCLASS 

MISRA.CAST.PTR_TO_INT 

MISRA.FUNC.ARRAY.PARAMS 

MISRA.INCR_DECR.OTHER 

MISRA.LOGIC.POSTFIX 

M5-3-1, M5-3-2, M5-3-3, M5-3-4: 6.5 Expressions / 6.5.3 Unary expressions (req.)

MISRA.LOGIC.NOT_BOOL 

MISRA.SIZEOF.SIDE_EFFECT 

MISRA.UMINUS.UNSIGNED 

MISRA.UN_OP.OVERLOAD 

A5-5-1: 6.5 Expressions / 6.5.6 Multiplicative operators (req.)

DBZ.CONST

DBZ.CONST.CALL

DBZ.GENERAL

DBZ.ITERATOR

M5-8-1: 6.5 Expressions / 6.5.8 Shift operators (req.)

MISRA.SHIFT.RANGE 

M5-14-1: 6.5 Expressions / 6.5.14 Logical AND operator (req.)

MISRA.LOGIC.SIDEEFF 

M5-18-1: 6.5 Expressions / 6.5.19 Comma operator (req.)

MISRA.COMMA 

M5-19-1: 6.5 Expressions / 6.5.20 Constant expression (req.)

MISRA.COMP.WRAPAROUND 

MISRA.ELIF.WRAPAROUND 

MISRA.IF.WRAPAROUND 

M6-2-1, M6-2-2, M6-2-3: 6.6 Statements / 6.6.2 Expression statement (req.)

MISRA.ASSIGN.COND 

MISRA.ASSIGN.SUBEXPR 

MISRA.FLOAT_EQUAL 

MISRA.NULL.STMT 

M6-3-1: 6.6 Statements / 6.6.3 Compound statement or block (req.)

MISRA.STMT.NO_COMPOUND 

M6-4-1, M6-4-2, M6-4-3, M6-4-4, M6-4-5, M6-4-6, M6-4-7: 6.6 Statements / 6.6.4 Selection statements (req.)

MISRA.IF.NO_COMPOUND 

MISRA.IF.NO_ELSE 

MISRA.SWITCH.BOOL 

MISRA.SWITCH.LABEL 

MISRA.SWITCH.NODEFAULT 

MISRA.SWITCH.NOT_WELL_FORMED 

MISRA.SWITCH.NO_BREAK 

A6-5-2, M6-5-2, M6-5-3, M6-5-4, M6-5-5, M6-5-6: 6.6 Statements / 6.6.5 Iteration statements (req.)

MISRA.FOR.COND.CHANGE 

MISRA.FOR.COND.EQ 

MISRA.FOR.COUNTER.FLT 

MISRA.FOR.COUNTER.MANY 

MISRA.FOR.INCR 

MISRA.FOR.LOOP_CONTROL.CHANGE.COND 

MISRA.FOR.LOOP_CONTROL.CHANGE.EXPR 

MISRA.FOR.LOOP_CONTROL.NOT_BOOLEAN 

MISRA.FOR.STMT.CHANGE 

M6-6-1, M6-6-2, M6-6-3: 6.6 Statements / 6.6.6 Jump statements (req.)

MISRA.CONTINUE.ILL 

MISRA.GOTO.AFTER.LABEL 

MISRA.GOTO.NESTED 

A7-1-1, A7-1-7, M7-1-2: 6.7 Declaration / 6.7.1 Specifiers (req.)

MISRA.DECL.MANY_DCLS 

MISRA.PPARAM.NEEDS.CONST 

MISRA.VAR.NEEDS.CONST 

M7-3-1, M7-3-2, M7-3-3, M7-3-4, M7-3-5, M7-3-6: 6.7 Declaration / 6.7.3 Namespaces (req.)

MISRA.NAMESPACE.DECL 

MISRA.NAMESPACE.DIR 

MISRA.NAMESPACE.UNMD 

MISRA.NS.GLOBAL 

MISRA.NS.GLOBAL.USING 

MISRA.NS.MAIN 

MISRA.NS.USING.HEADER 

MISRA.NS.USING_DECL 

MISRA.NS.USING_DIR 

M7-4-2, M7-4-3: 6.7 Declaration / 6.7.4 The asm declaration (req.)

MISRA.ASM.ENCAPS 

MISRA.PRAGMA.ASM 

A7-5-2: 6.7 Declaration / 6.7.5 Linkage specification (req.)

MISRA.FUNC.RECUR 

M8-0-1: 6.8 Declarators / 6.8.0 General (req.)

MISRA.DECL.MANY_DCLS 

M8-3-1: 6.8 Declarators / 6.8.3 Meaning of declarators (req.)

MISRA.SAME.DEFPARAMS 

A8-4-2, M8-4-2, M8-4-4: 6.8 Declarators / 6.8.4 Function definitions (req.)

FUNCRET.GEN

MISRA.FUNC.ADDR 

MISRA.FUNC.PARAMS.IDENT 

A8-5-1, M8-5-1, M8-5-2: 6.8 Declarators / 6.8.5 Initilizers (req.)

CWARN.MEMBER.INIT.ORDER

MISRA.INIT.BRACES 

UNINIT.CTOR.MIGHT

UNINIT.CTOR.MUST

UNINIT.HEAP.MIGHT

UNINIT.HEAP.MUST

UNINIT.STACK.ARRAY.MIGHT

UNINIT.STACK.ARRAY.MUST

UNINIT.STACK.ARRAY.PARTIAL.MUST

UNINIT.STACK.MIGHT

UNINIT.STACK.MUST

A9-3-1, M9-3-1, M9-3-3: 6.9 Classes / 6.9.3 Member function (req.)

MISRA.CONST.RET.NON_CONST 

MISRA.MEMB.NON_CONST 

MISRA.MEMB.NON_STATIC 

MISRA.RET.REF.NON_CONST 

A9-5-1: 6.9 Classes / 6.9.5 Unions (req.)

MISRA.UNION 

M10-1-2, M10-1-3: 6.10 Derived Classes / 6.10.1 Multiple base Classes (req.)

MISRA.BASE.VIRTUAL.NOTVIRTUAL 

MISRA.VIRTUAL.BASE.DIAMOND 

M10-3-3: 6.10 Derived Classes / 6.10.3 Virtual functions (req.)

MISRA.PUREVIRT.OVRD 

M11-0-1: 6.11 Member access control / 6.11.0 General (req.)

MISRA.MEMB.NOT_PRIVATE 

A12-1-4, M12-1-1: 6.12 Special member functions / 6.12.1 Constructors (req.)

MISRA.CTOR.DYNAMIC 

MISRA.CTOR.NOT_EXPLICIT 

MISRA.DTOR.DYNAMIC 

A12-8-5: 6.12 Special member functions / 6.12.8 Copying and moving class objects (req.)

CL.SELF-ASSIGN

A13-2-1: 6.13 Overloading / 6.13.2 Declaration matching (req.)

CL.ASSIGN.RETURN_CONST

M14-5-2, M14-5-3: 6.14 Templates / 6.14.5 Template declarations (req.)

MISRA.COPY.CSTR.TMPL 

MISRA.COPYASSIGN.TMPL 

M14-6-1: 6.14 Templates / 6.14.6 Name resolution (req.)

MISRA.TEMPLMEM.NOQUAL 

M14-7-3: 6.14 Templates / 6.14.7 Template instantiation and specialization (req.)

MISRA.SPEC.SAMEFILE 

M14-8-1: 6.14 Templates / 6.14.8 Function template specializations (req.)

MISRA.FUNC.SPEC.OVRLD 

M15-0-3, M15-1-2, M15-1-3: 6.15 Exception handling / 6.15.1 Throwing an exception (req.)

MISRA.THROW.EMPTY 

MISRA.THROW.NULL 

MISRA.TRY.JUMP 

A15-3-3, A15-3-5, M15-3-3, M15-3-6, M15-3-7: 6.15 Exception handling / 6.15.3 Handling an exception (req.)

MISRA.CATCH.ALL 

MISRA.CATCH.BY_VALUE 

MISRA.CATCH.NOALL 

MISRA.CATCH.WRONGORD 

MISRA.CTOR.TRY.NON_STATIC 

A15-5-2: 6.15 Exception handling / 6.15.5 Special functions (req.)

MISRA.STDLIB.ABORT 

MISRA.TERMINATE 

A16-0-1, M16-0-1, M16-0-2, M16-0-5, M16-0-6, M16-0-7, M16-0-8: 6.16 Preprocessing directives / 6.16.0 General (req.)

MISRA.DEFINE.BADEXP.CPP 

MISRA.DEFINE.FUNC 

MISRA.DEFINE.NOPARS 

MISRA.DEFINE.NOTGLOBAL 

MISRA.ELIF.UNDEF 

MISRA.EXPANSION.DIRECTIVE 

MISRA.IF.UNDEF 

MISRA.INCL.INSIDE 

MISRA.UNDEF 

MISRA.UNDEF.NOTGLOBAL 

MISRA.USE.DEFINE 

MISRA.USE.EXPANSION 

MISRA.USE.UNKNOWNDIR 

MISRA.USE.WRONGDIR 

M16-1-1, M16-1-2: 6.16 Preprocessing directives / 6.16.1 Conditional inclusion (req.)

MISRA.ELIF.DEFINED 

MISRA.ELIF.OTHERFILE 

MISRA.ELSE.OTHERFILE 

MISRA.ENDIF.OTHERFILE 

MISRA.IF.DEFINED 

A16-2-1, M16-2-3: 6.16 Preprocessing directives / 6.16.2 Source file inclusion (req.)

MISRA.INCGUARD 

MISRA.INCL.SYMS 

M16-3-1: 6.16 Preprocessing directives / 6.16.3 Macro replacement (req.)

MISRA.DEFINE.SHARP.MANY 

A16-7-1: 6.16 Preprocessing directives / 6.16.7 Pragma directive (req.)

MISRA.PRAGMA 

A17-0-1, M17-0-2, M17-0-3, M17-0-5: 6.17 Library introduction - partial / 6.17.1 General (req.)

MISRA.DEFINE.WRONGNAME 

MISRA.DEFINE.WRONGNAME.UNDERSCORE 

MISRA.EXPANSION.UNSAFE 

MISRA.STDLIB.LONGJMP 

MISRA.STDLIB.WRONGNAME 

MISRA.STDLIB.WRONGNAME.UNDERSCORE 

MISRA.UNDEF.WRONGNAME 

MISRA.UNDEF.WRONGNAME.UNDERSCORE 

A18-0-1, A18-0-2, M18-0-3, M18-0-4, M18-0-5: 6.18 Language support library - partial / 6.18.0 General (req.)

MISRA.EXPANSION.UNSAFE 

MISRA.INCL.UNSAFE 

MISRA.STDLIB.ABORT 

MISRA.STDLIB.ATOI 

MISRA.STDLIB.CSTRING 

MISRA.STDLIB.CSTRING.MACRO 

MISRA.STDLIB.TIME 

M18-2-1: 6.18 Language support library - partial / 6.18.2 Implementation properties (req.)

MISRA.EXPANSION.UNSAFE 

A18-5-3: 6.18 Language support library - partial / 6.18.5 Dynamic memory management (req.)

FMM.MIGHT

FMM.MUST

M18-7-1: 6.18 Language support library - partial / 6.18.9 Other runtime support (req.)

MISRA.EXPANSION.UNSAFE 

MISRA.INCL.UNSAFE 

MISRA.STDLIB.SIGNAL 

M19-3-1: 6.19 Diagnostics library - partial / 6.19.4 Error numbers (req.)

MISRA.EXPANSION.UNSAFE 

MISRA.STDLIB.ERRNO 

A27-0-2, M27-0-1: 6.27 Input/output library - partial / 6.27.1 General (req.)

MISRA.INCL.UNSAFE 

MISRA.STDLIB.STDIO 

SV.STRBO.BOUND_COPY.UNTERM

M5-0-2: 6.5 Expressions / 6.5.0 General (adv.)

MISRA.EXPR.PARENS.INSUFFICIENT 

MISRA.EXPR.PARENS.REDUNDANT 

M5-2-3: 6.5 Expressions / 6.5.2 Postfix expressions (adv.)

MISRA.CAST.POLY.TYPE 

M10-1-1: 6.10 Derived Classes / 6.10.1 Multiple base Classes (adv.)

MISRA.DERIVE.VIRTUAL 

M10-2-1: 6.10 Derived Classes / 6.10.2 Member name lookup (adv.)

MISRA.BASE.IDS.UNIQUE 

M16-3-2: 6.16 Preprocessing directives / 6.16.3 Macro replacement (adv.)

MISRA.DEFINE.SHARP 

Support Summary:

  • 165 rules