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.
Categories
- 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
- Data Flow Defects
Defects for data flow coding errors, unreachable code, non-initialization, missing return statements, useless writes
- Resource Management Defects
Defects related to resource handling such as unclosed file stream or use of a closed file stream
- Programming Defects
Defects for programming coding errors, assignment versus equality operators, type mismatch, wraparound, string arrays
- Object Oriented Defects
Defects related to C++ object-oriented programming such as class design issues or issues in the inheritance hierarchy
- C++ Exception Defects
Defects related to C++ exceptions and their handling such as unhandled exception in anoexcept
function or unexpected exception raised by athrow
statement
- Concurrency Defects
Defects related to multitasking code
- 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
- 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
- Performance Defects
Defects that impact performance of C++ code
- Libraries Misuse Defects
Defects associated with incorrect usage of a library such as the Polyspace Test™ xUnit-based API