Defect analysis

Check your source code
for possible runtime errors

The defect analysis checks the source code for potential runtime errors. The analyses include scalable data and control flow checks. These allow errors such as out-of-bounds access or division by zero to be detected early.

  • NULL dereferences
  • uninitialized variables
  • unused definitions
  • escaping addresses of local variables
  • violations of exception specificationsexc
  • exceptions during stack unwinding
  • uncaught exceptions
  • dead catch blocks
  • memory leaks from new/malloc without delete/free
  • mismatched resource allocations/releases
  • double free
  • use after free
  • divisions by zero
  • constant conditions
  • array access out of bounds
  • overflow in arithmetic computation
  • comparison/subtraction of unrelated pointers
  • assignment of bad values to enum-typed variables
  • forbidden operations on resources
  • forbidden argument values
  • resources used for reading and writing at the same time
Das Bild zeigt neben Stilverstößen bezüglich AUTOSAR C++14 auch zwei behobene Verstöße der Defekt-Analyse

In addition to Coding Guidelines regarding AUTOSAR C++14, the image also shows two rectified violations of the defect analysis from the period from March to June. FaultDetection-RemovableStatements checks whether a statement or a declaration can be removed because it does not contribute to the function result. FaultDetection-UnusedAssignments checks for assignments to variables that are not being used.