Main Content

Defects

Descriptions and examples of defects

A Polyspace® Bug Finder™ defect is an analysis result that identifies a specific coding error or vulnerability. Use these categories of defects to understand your results.

  • Numerical Defects
    Defects for numerical coding errors, division by zero, type conversion, and negative shift operations, math standard library
  • Static Memory Defects
    Defects for static memory coding errors, out of bounds arrays, null pointers, standard memory and string library
  • Dynamic Memory Defects
    Defects for dynamic memory coding errors, freed pointers, memory leaks, unprotected memory
  • Programming Defects
    Defects for programming coding errors, assignment versus equality operators, type mismatch, wraparound, string arrays
  • Data Flow Defects
    Defects for data flow coding errors, unreachable code, non-initialization, missing return statements, useless writes
  • Security Defects
    Defects related to security weaknesses and vulnerabilities
  • Cryptography Defects
    Defects related to incorrect use of OpenSSL cryptography routines
  • Tainted Data Defects
    Defects related to code elements from an unsecure source
  • Concurrency Defects
    Defects related to multitasking code
  • Object Oriented Defects
    Defects related to C++ object-oriented programming such as class design issues or issues in the inheritance hierarchy
  • Resource Management Defects
    Defects related to resource handling such as unclosed file stream or use of a closed file stream
  • C++ Exception Defects
    Defects related to C++ exceptions and their handling such as unhandled exception in a noexcept function or unexpected exception raised by a throw statement
  • Performance Defects
    Defects that impact performance of C++ code
  • Good Practice Defects
    Defects that allow you to observe good coding practices such as detection of hard-coded memory buffer size or unused function parameters