Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tool

Version

Checker

Description

Astrée
Include Page
Astrée_V
Astrée_V

switch-skipped-code

Fully checked
Axivion Bauhaus Suite
Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V
CertC-DCL41Fully implemented
Clang
Include Page
Clang_V
Clang_V
-Wsometimes-uninitialized

CodeSonar
Include Page
CodeSonar_V
CodeSonar_V
LANG.STRUCT.SW.BADMalformed switch Statement
Coverity
Include Page
Coverity_V
Coverity_V

MISRA C 2004 Rule 15.0

MISRA C 2012 Rule 16.1

Implemented
Helix QAC
Include Page
Helix QAC_V
Helix QAC_V
C2008, C2882, C3234Fully implemented
Klocwork
Include Page
Klocwork_V
Klocwork_V
CERT.DCL.SWITCH.VAR_BEFORE_CASEFully implemented
LDRA tool suite 
Include Page
LDRA_V
LDRA_V
385 SFully implemented
Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V
CERT_C-DCL41-a

A switch statement shall only contain switch labels and switch clauses, and no other code

PC-lint Plus

Include Page
PC-lint Plus_V
PC-lint Plus_V

527

Assistance provided

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

CERT C: Rule DCL41-C

Checks for ill-formed switch statements (rule partially covered)

PVS-Studio

Include Page
PVS-Studio_V
PVS-Studio_V

V622
RuleChecker

Include Page
RuleChecker_V
RuleChecker_V

switch-skipped-code

Fully checked
TrustInSoft Analyzer

Include Page
TrustInSoft Analyzer_V
TrustInSoft Analyzer_V

initialisationExhaustively detects undefined behavior (see the compliant and the non-compliant example).

...