Program Equivalence for Assisted Grading of Functional Programs
summary
Zeus clusters Standard ML student submissions by proving structural equivalence with inference rules and emits an SMT formula checked by z3 so clustering is sound and never groups non equivalent programs. An implementation clusters hundreds of submissions across 12 tasks, cutting manual grading by at least 75% for every task except sat, with treeReduce 40% wrong revealing large common bugs (assumed commutativity) that let one feedback note fix many students at once.
AI-written summary · about
