...
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Astrée |
| Supported, but no explicit checker | |||||||
CodeSonar |
| LANG.STRUCT.PARITH LANG.MEM.BO | Pointer arithmetic Buffer overrun | ||||||
Klocwork |
| ABV.ITERATOR ABV.GENERAL | |||||||
LDRA tool suite |
| 45 D | Partially implemented | ||||||
Parasoft C/C++test |
| MISRA-101 BD-PB-ARRAY | Checks all array access, not just pointer arithmetic | ||||||
Parasoft Insure++ | Runtime analysis for over- or under- read or write | ||||||||
Polyspace Bug Finder | R2016a | Implicit scaling in pointer arithmetic might be ignored Pointer dereferenced outside its bounds | |||||||
PRQA QA-C |
| 0488, 2930, 2931, 2932, 2933, 2934 | Partially implemented | ||||||
PVS-Studio | 6.22 | V503, V520, V574, V600, V613, V619, V620, V643, V650, V687, V769, V1004 | General analysis rule set |
How long is 4 yards plus 3 feet? It is obvious from elementary arithmetic that any answer involving 7 is wrong, as the student did not take the units into account. The right method is to convert both numbers to reflect the same units.
...