LogMorph Reweights Mutation Testing to Match What Students Actually Get Wrong, Across 7,201 Prolog Submissions
Existing Prolog mutation frameworks treat all mutations as equally likely, producing synthetic faults that diverge from classroom reality. The authors studied 7,201 submissions from 265 undergraduates, manually classifying 200 bug-fixing submissions into a fine-grained taxonomy, then built LogMorph with 17 operators weighted to the observed error distribution — enumerating valid AST mutation sites, sampling operators proportionally, delegating to an SMT synthesizer when new code fragments are needed, and validating each mutant against a reference suite. Across 16,000 generated mutants the synthetic distribution matched the student distribution to within two percentage points for most categories, with cut-related mutations the main residual divergence.
↳ Follow the thread