...
Tool | Version | Checker | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Astrée |
| invalid-free | Fully checked | ||||||||||||
Axivion Bauhaus Suite |
| CertC-MEM34 | Can detect memory deallocations for stack objects | ||||||||||||
Clang |
| clang-analyzer-unix.Malloc | Checked by clang-tidy ; can detect some instances of this rule, but does not detect all | CodeSonar | |||||||||||
Include Page | CodeSonar_V | CodeSonar_V | ALLOC.FNH | Free non-heap variable | |||||||||||
Compass/ROSE | Can detect some violations of this rule | ||||||||||||||
| BAD_FREE | Identifies calls to | |||||||||||||
Helix QAC |
| C2721, C2722, C2723 C++2721, C++2722, C++2723 | |||||||||||||
Klocwork |
| FNH.MIGHT | |||||||||||||
LDRA tool suite |
| 407 S, 483 S, 644 S, 645 S, 125 D | Partially implemented | ||||||||||||
Parasoft C/C++test |
| CERT_C-MEM34-a | Do not free resources using invalid pointers | ||||||||||||
Parasoft Insure++ | Runtime analysis | ||||||||||||||
PC-lint Plus |
| 424, 673 | Fully supported | ||||||||||||
Polyspace Bug Finder |
| Checks for invalid free of pointer (rule partially covered) | |||||||||||||
PRQA QA-C |
| 2721, 2722, 2723 | |||||||||||||
PRQA QA-C++ |
| 2721, 2722, 2723 | |||||||||||||
PVS-Studio |
| V585, V726 | |||||||||||||
RuleChecker |
| invalid-free | Partially checked | ||||||||||||
TrustInSoft Analyzer |
| unclassified ("free expects a free-able address") | Exhaustively verified (see one compliant and one non-compliant example). |
...