 
                            ...
| Rule | Severity | Likelihood | Remediation Cost | Priority | Level | 
|---|---|---|---|---|---|
| INT34-C | Low | Unlikely | Medium | P2 | L3 | 
Automated Detection
| 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 | ||||||
| LDRA tool suite | 
 | 51 S, 403 S, 479 S | Partially implemented | ||||||
| Parasoft C/C++test | 
 | CERT_C-INT34-a | Invalid range of the right hand operand of a shift operator | ||||||
| Polyspace Bug Finder | 
 | Shift operator on negative value Overflow from shifting operation | |||||||
| PRQA QA-C | 
 | 0499 | Partially implemented | ||||||
| PVS-Studio | 
 | V610 | |||||||
| RuleChecker | 
 | precision-shift-width-constant | Partially checked | 
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
...