Versions Compared

Key

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

...

PRQA QA-C

1292, 1293, 4401, 4421, 4431, 4441, 4451

Partially implemented

Tool

Version

Checker

Description

Astrée
Include Page
Astrée_V
Astrée_V

Supported , but no explicit checkerindirectly via MISRA C:2012 rules 10.1, 10.3 and 10.4.
Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC-INT07
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V
LANG.TYPE.IOTInappropriate operand type
Compass/ROSE



Can detect violations of this recommendation. In particular, it flags any instance of a variable of type char (without a signed or unsigned qualifier) that appears in an arithmetic expression

ECLAIR

Include Page
ECLAIR_V
ECLAIR_V

CC2.INT07

Fully implemented

Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

C1292, C1293, C4401, C4421, C4431, C4441, C4451


Klocwork
Include Page
Klocwork_V
Klocwork_V
PORTING.SIGNED.CHAR
LDRA tool suite
Include Page
LDRA_V
LDRA_V

93 S, 96 S, 101 S, 329 S, 432 S, 458 S

Fully implemented

Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V

CERT_C-INT07-a
CERT_C-INT07-b

The plain char type shall be used only for the storage and use of character values
signed and unsigned char type shall be used only for the storage and use of numeric values

PC-lint Plus

Include Page
PC-lint Plus_V
PC-lint Plus_V

9112

Fully supported

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

Use of plain char type for numerical value

MISRA CERT C: 2012 Rule 10.1

MISRA C:2012 Rule 10.3

MISRA C:2012 Rule 10.4

Plain char variable in arithmetic operation without explicit signedness

Operands shall not be of an inappropriate essential type

The value of an expression shall not be assigned to an object with a narrower essential type or of a different essential type category

Both operands of an operator in which the usual arithmetic conversions are performed shall have the same essential type category

Rec. INT07-C


Checks for use of plain char type for numeric value (rec. fully covered)

Splint
Include Page
Splint_V
Splint_V



RuleChecker

Include Page

PRQA QA-C_vPRQA QA-C_v

RuleChecker_V
RuleChecker_V


Supported indirectly via MISRA C:2012 rules 10.1, 10.3 and 10.4.
SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V
S820

...