...
Tool | Version | Checker | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Astrée |
| Supported, but no explicit checker | |||||||||
| 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 | |||||||||
| Klocwork |
| UFM.DEREF.MIGHT | |||||||||
| LDRA tool suite |
| 51 D, 484 S, 112 D | Partially implemented | ||||||||
| Parasoft C/C++test |
| BD-RES-FREE | Implemented | ||||||||
| Parasoft Insure++ | Detects accessing freed memory at runtime | ||||||||||
| Polyspace Bug Finder |
| Deallocation of previously deallocated pointer | Memory freed more than once without allocation Standard library string function called with invalid arguments Memory accessed after deallocation | ||||||||
| PRQA QA-C | 9.1 | 1769, 1770 | |||||||||
| PRQA QA-C++ | 4.2 | 3339, 4303, 4304 | |||||||||
| PVS-Studio |
| V586, V774 | |||||||||
| Splint |
|
...