...
Tool | Version | Checker | Description | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Astrée |
| dangling_pointer_use | Supported Astrée reports all accesses to freed allocated memory. | |||||||||||
Axivion Bauhaus Suite |
| CertC-MEM30 | Detects memory accesses after its deallocation and double memory deallocations | |||||||||||
CodeSonar |
| ALLOC.UAF | Use after free | |||||||||||
Compass/ROSE | ||||||||||||||
| USE_AFTER_FREE | Can detect the specific instances where memory is deallocated more than once or read/written to the target of a freed pointer | ||||||||||||
Helix QAC |
| DF4866, DF4867, DF4868, DF4871, DF4872, DF4873 C++3339, C++4303, C++4304 | ||||||||||||
Klocwork |
| UFM.DEREF.MIGHT UFM.DEREF.MUST UFM.FFM.MIGHT UFM.FFM.MUST UFM.RETURN.MIGHT UFM.RETURN.MUST UFM.USE.MIGHT UFM.USE.MUST | ||||||||||||
LDRA tool suite |
| 51 D, 484 S, 112 D | Partially implemented | |||||||||||
Parasoft C/C++test |
| CERT_C-MEM30-a | Do not use resources that have been freed | |||||||||||
Parasoft Insure++ | Runtime analysis | |||||||||||||
Polyspace Bug FinderPC-lint Plus |
| Polyspace Bug Finder
| 449, 2434 | Fully supported | ||||||||||
Polyspace Bug Finder |
| Checks for use of :
| PRQA QA-C++ | Rule partially covered. Include Page | | cplusplus:PRQA QA-C++_V | cplusplus:PRQA QA-C++_V | 3339, 4303, 4304|||||||
PVS-Studio |
| V586, V774 | ||||||||||||
Splint |
| |||||||||||||
TrustInSoft Analyzer |
| dangling_pointer | Exhaustively verified (see one compliant and one non-compliant example). |
...