...
Tool | Version | Checker | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Astrée |
| null-dereferencing | Fully checked | ||||||||
Axivion Bauhaus Suite |
| CertC-EXP34 | |||||||||
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 |
| CERT_C-EXP34-a | Avoid null pointer dereferencing | ||||||||
Parasoft Insure++ | Runtime analysis | ||||||||||
Polyspace Bug Finder |
| Arithmetic operation with NULL pointer | Checks for use of null pointers (rule partially covered) 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 | Fully implemented | ||||||||
PRQA QA-C++ |
| 2810, 2811, 2812, 2813, 2814, 2820, 2821, 2822, 2823, 2824 | |||||||||
PVS-Studio |
| V522, V595, V664, V713, V1004 | |||||||||
SonarQube C/C++ Plugin |
| S2259 | |||||||||
Splint |
| ||||||||||
TrustInSoft Analyzer |
| mem_access | Exhaustively verified (see one compliant and one non-compliant example). |
...