Tool | Version | Checker | Description |
---|
Astrée | | integer-overflow | Fully checked |
CodeSonar | | ALLOC.SIZE.ADDOFLOW ALLOC.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 size Integer 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 int s together requires validation involving subtracting one of the numbers from UINT_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 | Include Page |
---|
| Polyspace Bug Finder_V |
---|
| Polyspace Bug Finder_V |
---|
|
R2016a | 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 |