Cppcheck
A static analyzer for C and C++ focused on undefined behavior, dangerous constructs and practical defect classes.
Technical Context
Cppcheck targets defects such as null-pointer dereference, out-of-bounds access, division by zero, invalid shift operations, uninitialized values and memory-management errors. It is also designed to tolerate non-standard syntax and compiler extensions common in embedded projects.
Current open-source releases include a MISRA C:2012 add-on, while the official manual states that open-source MISRA coverage is partial. This behavior is version-dependent.
Boundaries
Cppcheck is not a formal verifier. Its own documentation states that checks can miss defects. A clean report is therefore not proof that every execution is safe.