1. A computer program product, tangibly embodied on an information carrier, comprising instructions operable to cause data processing apparatus to: establish any number of checkpoints in a first computer program; and include each checkpoint in a checkpoint group, wherein each checkpoint group can include any number of the checkpoints regardless of where the checkpoints are in the first computer program.