...
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Astrée |
| null-dereferencing | Fully checked | ||||||
CodeSonar |
| LANG.MEM.NPD | Null pointer dereference | ||||||
Compass/ROSE | Can detect violations of this rule. In particular, ROSE ensures that any pointer returned by | ||||||||
| CHECKED_RETURN NULL_RETURNS REVERSE_INULL FORWARD_NULL | Finds instances where a pointer is checked against Identifies functions that can return a null pointer but are not checked Identifies code that dereferences a pointer and then checks the pointer against Can find the instances where | |||||||
Cppcheck |
| nullPointer, nullPointerDefaultArg, nullPointerRedundantCheck | Context sensitive analysis Detects when NULL is dereferenced (Array of pointers is not checked. Pointer members in structs are not checked.) Finds instances where a pointer is checked against Identifies code that dereferences a pointer and then checks the pointer against Does not guess that return values from | ||||||
Klocwork |
| NPD.CHECK.CALL.MIGHT | |||||||
LDRA tool suite |
| 45 D, 123 D, 128 D, 129 D, 130 D, 131 D, 652 S | Fully implemented | ||||||
Parasoft C/C++test |
| BD-PB-NP | Fully implemented | ||||||
Parasoft Insure++ | Runtime analysis | ||||||||
Polyspace Bug Finder |
| Arithmetic operation with NULL pointer | Arithmetic operation performed on Standard library memory function called with invalid arguments
Pointer from an unsecure source may be NULL or point to unknown memory The validity of values received from external sources shall be checked. | ||||||
PRQA QA-C++ | 2810, 2811, 2812, 2813, 2814, 2820, 2821, 2822, 2823, 2824 | ||||||||
PRQA QA-C |
| 2810, 2811, 2812, 2813, 2814, 2820, 2821, 2822, 2823, 2824 | Fully implemented | ||||||
PVS-Studio |
| V522, V595, V664, V713, V1004 | |||||||
SonarQube C/C++ Plugin |
| S2259 | |||||||
Splint |
|
...