Skip to content
uencoder

Dynamic Analysis

Dynamic analysis monitors a program's behavior at runtime, detecting runtime issues such as memory leaks, races, and performance bottlenecks.

Purpose

Discover runtime defects that static analysis struggles to detect, such as memory leaks and data races.

Mechanism

Runs the program instrumented or sandboxed, monitoring memory allocation/free, thread interleaving, and function timing. Valgrind detects memory errors, AddressSanitizer detects out-of-bounds/UAF, and ThreadSanitizer detects races.

Use cases

  • Memory leak detection
  • Race detection
  • Profiling

References