 
                            ...
| 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 | 
 | C0499, C2790, C2791, C2792, C2793 C++2791, C++2792, C++2793, C++3003, C++3321, C++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). | 
...