Lightweight Memory Checkpointing
Valgrind: a framework for heavyweight dynamic binary instrumentation