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

invalid_dynamic_memory_allocation
dangling_pointer_use

Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC++-MEM51
Clang
Include Page
Clang_V
Clang_V
clang-analyzer-cplusplus.NewDeleteLeaks
-Wmismatched-new-delete
clang-analyzer-unix.MismatchedDeallocator 
Checked by clang-tidy, but does not catch all violations of this rule
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V

ALLOC.FNH
ALLOC.DF
ALLOC.TM
ALLOC.LEAK

Free non-heap variable
Double free
Type mismatch
Leak
Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

C++2110, C++2111, C++2112, C++2113, C++2118, C++3337, C++3339, C++4262, C++4263, C++4264


Klocwork
Include Page
Klocwork_V
Klocwork_V
CL.FFM.ASSIGN
CL.FFM.COPY
CL.FMM
CL.SHALLOW.ASSIGN
CL.SHALLOW.COPY
FMM.MIGHT
FMM.MUST
FNH.MIGHT
FNH.MUST
FUM.GEN.MIGHT
FUM.GEN.MUST
UNINIT.CTOR.MIGHT
UNINIT.CTOR.MUST
UNINIT.HEAP.MIGHT
UNINIT.HEAP.MUST

LDRA tool suite
Include Page
LDRA_V
LDRA_V

232 S, 236 S, 239 S, 407 S, 469 S, 470 S, 483 S, 484 S, 485 S, 64 D, 112 D

Partially implemented

Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V

CERT_CPP-MEM51-a
CERT_CPP-MEM51-b
CERT_CPP-MEM51-c
CERT_CPP-MEM51-d


Use the same form in corresponding calls to new/malloc and delete/free
Always provide empty brackets ([]) for delete when deallocating arrays
Both copy constructor and copy assignment operator should be declared for classes with a nontrivial destructor
Properly deallocate dynamically allocated resources

Parasoft Insure++

Runtime detection
Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

CERT C++: MEM51-CPP

Checks for:

  • Invalid deletion of pointer
  • Invalid free of pointer
  • Deallocation of previously deallocated pointer

Rule partially covered.

PRQA QA-C++
Include Page
PRQA QA-C++_VPRQA QA-C++_V

2110, 2111, 2112, 2113, 2118,

3337, 3339, 4262, 4263, 4264

PVS-Studio

Include Page
PVS-Studio_V
PVS-Studio_V

V515, V554, V611, V701, V748, V773, V1066
SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V
S1232

...