| Tool | Version | Checker | Description | 
|---|
| Astrée |  | integer-overflow | Fully checked | 
| CodeSonar |  | ALLOC.SIZE.ADDOFLOWALLOC.SIZE.IOFLOW
 ALLOC.SIZE.MULOFLOW
 ALLOC.SIZE.SUBUFLOW
 MISC.MEM.SIZE.ADDOFLOW
 MISC.MEM.SIZE.BAD
 MISC.MEM.SIZE.MULOFLOW
 MISC.MEM.SIZE.SUBUFLOW
 | Addition overflow of allocation sizeInteger overflow of allocation size
 Multiplication overflow of allocation size
 Subtraction underflow of allocation size
 Addition overflow of size
 Unreasonable size argument
 Multiplication overflow of size
 Subtraction underflow of size
 | 
| Compass/ROSE | 
 | 
 | Can detect violations of this rule by ensuring that operations are checked for overflow before being performed (Be mindful of exception INT30-EX2 because it excuses many operations from requiring validation, including all the operations that would validate a potentially dangerous operation. For instance, adding two unsigned ints together requires validation involving subtracting one of the numbers fromUINT_MAX, which itself requires no validation because it cannot wrap.) | 
| Coverity |  | INTEGER_OVERFLOW | Implemented | 
| Klocwork |  | NUM.OVERFLOW CWARN.NOEFFECT.OUTOFRANGE
 | 
 | 
| LDRA tool suite |  | 493 S, 494 S | Partially implemented | 
| Parasoft C/C++test |  | BD-PB-INTOVERF, PB-66_a, PB-66_b | Implemented | 
| Polyspace Bug Finder | R2016a| Include Page | 
|---|
 | |  | Polyspace Bug Finder_V | 
|---|
 |  | Polyspace Bug Finder_V | 
|---|
 | 
 | Unsigned integer overflow | Overflow from operation between unsigned integers | 
| PRQA QA-C |  | 2910 (C)2911 (D)
 2912 (A)
 2913 (S)
 
 | Partially implemented | 
| PRQA QA-C++ | | Include Page | 
|---|
 | |  | cplusplus:PRQA QA-C++_V | 
|---|
 |  | cplusplus:PRQA QA-C++_V | 
|---|
 | 
 | 2910, 2911, 2912, 2913 | 
 | 
| PVS-Studio |  | V658 | 
 | 
| RuleChecker | | Include Page | 
|---|
 | |  | RuleChecker_V | 
|---|
 |  | RuleChecker_V | 
|---|
 | 
 | integer-overflow | Fully checked |