Bounded Model Checking for Software
CBMC
About CBMC
CBMC is a Bounded
Model Checker for C and C++ programs. It supports C89, C99, most of C11/C17 and
most compiler extensions provided by gcc, clang, and Visual Studio. A variant
of CBMC that analyses Java bytecode is available as JBMC.
CBMC verifies memory safety (which includes array bounds checks and
checks for the safe use of pointers), checks for exceptions,
checks for various variants of undefined behavior, and user-specified
assertions. Furthermore, it can check C ...
Read more at cprover.org