Runtime error detection

Runtime error detection is a software verification method that analyzes a software application as it executes and reports defects that are detected during that execution. It can be applied during unit testing, component testing, integration testing, system testing (automated/scripted or manual), or penetration testing.

Runtime error detection can identify defects that manifest themselves only at runtime (for example, file overwrites) and zeroing in on the root causes of the application crashing, running slowly, or behaving unpredictably. Defects commonly detected by runtime error detection include:
 * Race conditions
 * Exceptions
 * Resource leaks
 * Memory leaks
 * Security attack vulnerabilities (e.g., SQL injection)
 * Null pointers
 * Uninitialized memory
 * Buffer overflows

Runtime error detection tools can only detect errors in the executed control flow of the application.