Do I use the wrong definition?: DeFuse: definition-use invariants for detecting concurrency and sequential bugs
A "flight data recorder" for enabling full-system multiprocessor deterministic replay