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
pointer-subtractionPartially checked
Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC-ARR36Can detect operations on pointers that are unrelated
Coverity
Include Page
Coverity_V
Coverity_V

MISRA C 2004 17.2

MISRA C 2004 17.3

MISRA C 2012 18.2

MISRA C 2012 18.3

Implemented
LDRA tool suite
Include Page
LDRA_V
LDRA_V

437 S, 438 S

Fully implemented

Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V
CERT_C-ARR36-a

Pointer arithmetic shall only be applied to pointers that address an array or array element

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

Subtraction or comparison between pointers to different arrays

MISRA CERT C: 2012 Rule 18.2Rule ARR36-C

Checks for subtraction or comparison between pointers to different arrays (rule partially covered)

Subtraction or comparison between pointers causes undefined behavior

Subtraction between pointers shall only be applied to pointers that address elements of the same array

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

0487, 0513, 2668, 2669,
2771, 2772, 2773, 2761,
2762, 2763, 2766, 2767,
2768

Fully implemented
PVS-Studio

Include Page
PVS-Studio_V
PVS-Studio_V

V736, V782
TrustInSoft Analyzer

Include Page
TrustInSoft Analyzer_V
TrustInSoft Analyzer_V

differing_blocks

Exhaustively verified (see the compliant and the non-compliant example).

...