code fuzzing, checks the code as it is running, by sending random data
checks the code as it is running. sometimes uses fuzzing or random data.
- examine execution trace of code   - allows you to get closer to what is actually happening before (or as) the bug is encountered