Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tool

Version

Checker

Description

Astrée
Include Page
Astrée_V
Astrée_V

Supported, but no explicit checker
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V

LANG.STRUCT.PARITH

LANG.MEM.BO
LANG.MEM.BU
LANG.STRUCT.PBB
LANG.STRUCT.PPE
LANG.MEM.TBA
LANG.MEM.TO
LANG.MEM.TU

Pointer arithmetic

Buffer overrun
Buffer underrun
Pointer before beginning of object
Pointer past end of object
Tainted buffer access
Type overrun
Type underrun

Klocwork
Include Page
Klocwork_V
Klocwork_V
ABV.ITERATOR
ABV.GENERAL

LDRA tool suite
Include Page
LDRA_V
LDRA_V

45 D
53 D
54 D
438 S
576 S

Partially implemented

Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V

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 FinderR2016a

Incorrect pointer scaling

Pointer access out of bounds

Implicit scaling in pointer arithmetic might be ignored

Pointer dereferenced outside its bounds

PRQA QA-C
Include Page
PRQA QA-C_v
PRQA QA-C_v

0488, 2930, 2931, 2932, 2933, 2934

Partially implemented


PVS-Studio6.22V503, V520, V574, V600, V613, V619, V620, V643, V650, V687, V769, V1004General 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.

...