...
Tool | Version | Checker | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Astrée |
| Supported , but no explicit checkerindirectly via MISRA C:2012 rules 10.1, 10.3 and 10.4. | |||||||||||
Axivion Bauhaus Suite |
| CertC-INT07 | |||||||||||
CodeSonar |
| LANG.TYPE.IOT | Inappropriate operand type | ||||||||||
Compass/ROSE | Can detect violations of this recommendation. In particular, it flags any instance of a variable of type | ||||||||||||
| CC2.INT07 | Fully implemented | |||||||||||
Helix QAC |
| C1292, C1293, C4401, C4421, C4431, C4441, C4451 | |||||||||||
Klocwork |
| PORTING.SIGNED.CHAR | |||||||||||
LDRA tool suite |
| 93 S, 96 S, 101 S, 329 S, 432 S, 458 S | Fully implemented | ||||||||||
Parasoft C/C++test |
| CERT_C-INT07-a | The plain char type shall be used only for the storage and use of character values | ||||||||||
PC-lint Plus |
| 9112 | Fully supported | ||||||||||
| Use of plain char type for numerical value MISRA CERT C: 2012 Rule 10.1 Plain 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 | Checks for use of plain char type for numeric value (rec. fully covered) | |||||||||||
Splint |
| ||||||||||||
RuleChecker |
| PRQA QA-C_v | PRQA QA-C_v |
| Supported indirectly via MISRA C:2012 rules 10.1, 10.3 and 10.4. | Partially implemented||||||||
SonarQube C/C++ Plugin |
| S820 |
...