Exam: Producing Robust Programs