NASA: Ten Rules for Safety Critical Coding mapped to Klocwork checkers

The following table maps NASA's top ten rules for safety critical software development to Klocwork C and C++ checkers.

Rule Checker name
NASA rule 1

MISRA.FUNC.RECUR

MISRA.GOTO

MISRA.STDLIB.LONGJMP

NASA rule 2

INFINITE_LOOP.GLOBAL

INFINITE_LOOP.LOCAL

INFINITE_LOOP.MACRO

MISRA.FOR.COND

MISRA.FOR.COND.FLT

MISRA.FOR.INCR.CHANGE

MISRA.FOR.STMT.CHANGE

NASA rule 3

MISRA.STDLIB.MEMORY

NASA rule 4

Currently, there is no applicable checker for this rule.

NASA rule 5

Currently, there is no applicable checker for this rule.

NASA rule 6

MISRA.VAR.MIN.VIS

NASA rule 7

SV.RVT.RETVAL_NOTTESTED

SV.TAINTED.ALLOC_SIZE

SV.TAINTED.CALL.INDEX_ACCESS

SV.TAINTED.CALL.LOOP_BOUND

SV.TAINTED.FMTSTR

SV.TAINTED.INDEX_ACCESS

SV.TAINTED.INJECTION

SV.TAINTED.LOOP_BOUND

NASA rule 8

MISRA.DEFINE.BADEXP

MISRA.DEFINE.FUNC

MISRA.DEFINE.LONGNAME

MISRA.DEFINE.NOPARS

MISRA.DEFINE.NOTGLOBAL

MISRA.DEFINE.SHARP

MISRA.DEFINE.SHARP.MANY

MISRA.DEFINE.WRONGNAME

MISRA.DEFINE.WRONGNAME.UNDERSCORE

MISRA.ELIF.DEFINED

MISRA.ELIF.OTHERFILE

MISRA.ELIF.UNDEF

MISRA.ELIF.WRAPAROUND

MISRA.ELSE.OTHERFILE

MISRA.ENDIF.OTHERFILE

MISRA.EXPANSION.DIRECTIVE

MISRA.EXPANSION.NARGS

MISRA.EXPANSION.UNSAFE

MISRA.IF.DEFINED

MISRA.IF.UNDEF

MISRA.IF.WRAPAROUND

MISRA.INCL.BAD

MISRA.INCL.INSIDE

MISRA.INCL.SYMS

MISRA.INCL.UNSAFE

MISRA.PRAGMA

NASA rule 9

MISRA.PTR.TO_PTR_TO_PTR

NASA rule 10

Currently, there is no applicable checker for this rule.

Support Summary:

  • 7 rules

"MISRA", "MISRA C" and "MISRA C++" are registered trademarks of The MISRA Consortium Limited. ​