Static code checking finds the following types of errors:
ABR: beyond array bounds read
ABW: beyond array bounds write
DFM: double freeing memory
ECV: explicit type cast violation
FMR: freed memory read
FMW: freed memory write
INF: infinite empty loop
MLK: memory leak
MFR: missing function return
MRC: missing malloc return value check
NFR: uninitialized function return
NUL: null pointer dereference, leaky pointer check
RFM: return freed memory
UMR: uninitialized memory read, uninitialized memory read bit operation
URV: unused return value
VES: out-of-scope local variable usage