The compilers, discover, and uncover find static code issues, dynamic memory access issues, and coverage issues in your code. This section lists the specific error types that are found by these tools and analyzed by Code Analyzer.
For more information about these errors and warnings, see Appendix A, Errors Analyzed by Code Analyzer, in Oracle Developer Studio 12.5: Code Analyzer User’s Guide.
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
Dynamic memory access checking finds the following types of errors:
ABR: beyond array bounds read
ABW: beyond array bounds write
BFM: bad free memory
BRP: bad realloc address parameter
CGB: corrupted guard block
DFM: double freeing memory
FMR: freed memory read
FMW: freed memory write
FRP: freed realloc parameter
IMR: invalid memory read
IMW: invalid memory write
MLK: memory leak
OLP: overlapping source and destination
PIR: partially initialized read
SBR: beyond stack bounds read
SBW: beyond stack bounds write
UAR: unallocated memory read
UAW: unallocated memory write
UMR: uninitialized memory read
Dynamic memory access checking finds the following types of warnings:
AZS: allocating zero size
MLK: memory leak
SMR: speculative uninitialized memory read
Code coverage checking determines which functions are uncovered. In the results, code coverage issues found are labeled as Uncovered Function, with a potential coverage percentage, indicating the percentage of coverage that will be added to the total coverage for the application if a test covering the relevant function is added.