...
Tool | Version | Checker | Description | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Astrée |
| precision-shift-width | Fully checked | |||||||||||
Axivion Bauhaus Suite |
| CertC-INT34 | Can detect shifts by a negative or an excessive number of bits and right shifts on negative values. | |||||||||||
CodeSonar |
| LANG.ARITH.BIGSHIFT | Shift amount exceeds bit width | |||||||||||
Compass/ROSE | Can detect violations of this rule. Unsigned operands are detected when checking for INT13-C. Use bitwise operators only on unsigned operands | |||||||||||||
Coverity |
| BAD_SHIFT | Implemented | |||||||||||
Cppcheck |
| shiftNegative, shiftTooManyBits | Context sensitive analysis | |||||||||||
ECLAIR |
| CC2.INT34 | Partially implemented | |||||||||||
Helix QAC |
| C: 0499, 2790, 2791, 2792, 2793 C++: 2791, 2792, 2793, 3003, 3321, 3322 | ||||||||||||
LDRA tool suite |
| 51 S, 403 S, 479 S | Partially implemented | |||||||||||
Parasoft C/C++test |
| CERT_C-INT34-a | Avoid incorrect shift operations | |||||||||||
Polyspace Bug Finder |
| Checks for:
Rule partially covered. | ||||||||||||
PRQA QA-C |
| 0499, 2790 [C], 2791 [D], | Partially implemented | |||||||||||
PRQA QA-C++ |
| 2791, 2792, 2793, 3003, 3321, 3322 | ||||||||||||
PVS-Studio |
| V610 | ||||||||||||
RuleChecker |
| precision-shift-width-constant | Partially checked | |||||||||||
TrustInSoft Analyzer |
| shift | Exhaustively verified (see one compliant and one non-compliant example). | Helix QAC | Include Page | | Helix QAC_V | Helix QAC_V |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
...