Fault tolerance via idempotence
Automated feedback generation for introductory programming assignments