Optimal Tracing and Replay for Debugging Shared-Memory Parallel Programs | AMiner