Definition
Dynamic analysis studies a program by running it and observing what actually happens — traces, allocations, memory accesses, network calls — rather than reasoning about source code in the abstract. It catches behaviors static analysis can’t see and misses behaviors that never execute on your test inputs.