ValiAssist: Scaling LLM-generated Programming Feedback Validation by Demonstration
Organizations: Virginia Tech, USA
Abstract
Generative AI can create programming feedback at scale, but validating its alignment with instructors' pedagogical goals and strategies remains challenging. Instructors may struggle to fully specify validation criteria upfront, as these often emerge through inspecting concrete examples and revising misaligned feedback. We present ValiAssist, a validation-by-demonstration system that infers reusable validation logic from instructors' revisions of AI-generated feedback and allows instructors to inspect and refine that logic as it is applied across other student submissions. In a comparative study with 16 instructors, ValiAssist helped instructors create and refine validation criteria, producing feedback that better aligned with their pedagogical intent (91% vs. 57%) and more than doubling the accuracy of correcting problematic criteria (77% vs. 32%). Our findings suggest that validation by demonstration can help instructors turn judgments they know how to make on individual cases into explicit, reusable logic, while progressively clarifying where those judgments do and do not generalize.
Figures & tables
| Act | None | Opaque | Readable | Structured |
|---|---|---|---|---|
| State | n/a | n/a | CS50 Duck ( Liu et al., 2024a ) | CodeHelp ( Liffiton et al., 2023 ) Co-Pilot ( Hedderich et al., 2024 ) TeachTune ( Jin et al., 2025 ) |
| Rate | SPHERE ( Tang et al., 2025 ) Edison ( Miroyan et al., 2025 ) | CS50 human feedback ( Liu et al., 2025 ) DPO with teachers ( Woodrow et al., 2025 ) | GradeHITL ( Chu et al., 2025 ) | |
| Demonstrate | Teacher revisions ( Borchers et al., 2026 ) | CoGrader ( Chen et al., 2025 ) | Avalon ( Armfield et al., 2025 ) Formative baseline (§ 3 ) | ValiAssist |
| Workflow | Definition | Example sequence | % (n) | |
|---|---|---|---|---|
| Feedback-only | The instructor settles the generated message without opening the submission. | read message send | 30.34 (54) | |
| Code-first | The instructor reads the submission first and forms their own judgment of what the student needs, then turns to the message and decides against that judgment without going back. | read submission read message send | 11.80 (21) | |
| Interleaved | The instructor enters from either the submission or the message, then keeps moving between the two, revising the feedback and checking it against the code again as they go. | read message check submission revise message check submission send | 57.87 (103) |
| Index | Code | Definition | Example criteria | % (n) |
|---|---|---|---|---|
| 1 | conciseness | The criterion cuts material that does not teach: greetings, filler, over-long explanation, or encouragement the student does not need. | “Feedback must exclude any final redundant encouraging message.” “Ensure that the feedback is concise and actionable.” | 33.73 (28) |
| 2 | no_direct_solutions | The criterion keeps complete code solutions and direct answers out of the feedback, so the student has to work the problem out. | “Feedback must not include any source code snippets.” “Confirm that the feedback does not provide direct answers.” | 24.10 (20) |
| 3 | content_requirement | The criterion asks the feedback to cover something specific, such as the range function, list comprehensions, or testing with different inputs. | “Inclusivity of Range: explain how range works.” “Feedback includes an explanation of the range function if it is missing.” | 9.64 (8) |
| 4 | code_style | The criterion asks the feedback to comment on how the code is written, most often its naming. | “The feedback must emphasize the use of descriptive variable names.” “The code lacks clarity in parameter naming. If the parameter naming is unclear, it suggests replacing the function…” | 6.02 (5) |
| 5 | specify_program | The criterion states what the student’s program itself has to do or look like, rather than what the feedback should say about it. | “Ensure the input to the make_list function is a list.” “Check whether the function is returning the correct list or not.” | 6.02 (5) |
| 6 | conceptual_guidance | The criterion steers the feedback toward the idea behind the mistake instead of the particular fix. | “Feedback should encourage problem-solving or exploration without providing exact code solutions.” “Overly specific variable name suggestions to maintain generality in feedback.” | 4.82 (4) |
Appendix figures & tables2 assets
Supplementary material from the paper’s appendix.
Appendix
Generative AI Evaluation
Generative AI evaluation measures the quality, reliability, diversity, and real-world usefulness of generated outputs and AI-assisted workflows.
See all 311 papers