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