Witter: A Library for White-Box Testing of Introductory Programming Algorithm...
summary
Witter is a Java library that runs student code against an annotated reference solution and compares not just outputs but array read/write counts, loop and recursive call counts, and argument side effects to detect which algorithm was implemented. It hooks into the Strudel interpreter to listen to execution events, uses comment annotations for test specs, and already discriminates iterative vs recursive factorial, linear vs binary search, and insertion vs selection sort. Prototype works for small, isolated assignments; stateful tests and richer metrics remain future work.
AI-written summary · about
chapters (12)
- 0:00Witter introduction
- 1:27Automated assessment problems
- 4:59White-box testing approach
- 6:23Using Witter in practice
- 8:28Factorial demo
- 10:33Binary search validation
- 11:36Insertion sort side effects
- 13:00Witter implementation
- 15:04Future features
- 16:51Supporting student solutions
- 17:34Impact on learning
- 25:18Q&A
related talks
52mMeasuring code quality in WTFs per minute
40mCatching More Bugs with Fewer False Alarms
46mModern Testing Tools for Java Developers
57mProperty Testing in Java
43mTesting: Property-based testing - let your testing library work(...)
55mNext-Gen Testing Tools for Java
36mAutograder for Functional Programming and Beyond
56mThe Rational Programmer, An Investigative Method for Programming Language Prag...
