...
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.
...