1. A computer-implemented method for recording a program execution, comprising: recording a processor context for each thread of the program in a partial checkpoint; recording results of system calls by the program in the partial checkpoint; and recording memory pages accessed by the program in the partial checkpoint.