Automating Autograding: Large Language Models as Test Suite Generators for Introductory Programming
arXiv:2411.09261 · doi:10.1111/jcal.13100
Abstract
Automatically graded programming assignments provide instant feedback to students and significantly reduce manual grading time for instructors. However, creating comprehensive suites of test cases for programming problems within automatic graders can be time-consuming and complex. The effort needed to define test suites may deter some instructors from creating additional problems or lead to inadequate test coverage, potentially resulting in misleading feedback on student solutions. Such limitations may reduce student access to the well-documented benefits of timely feedback when learning programming. In this work, we evaluate the effectiveness of using Large Language Models (LLMs), as part of a larger workflow, to automatically generate test suites for CS1-level programming problems. Each problem's statement and reference solution are provided to GPT-4 to produce a test suite that can be used by an autograder. We evaluate our proposed approach using a sample of 26 problems, and more than 25,000 attempted solutions to those problems, submitted by students in an introductory programming course. We compare the performance of the LLM-generated test suites against the instructor-created test suites for each problem. Our findings reveal that LLM-generated test suites can correctly identify most valid solutions, and for most problems are at least as comprehensive as the instructor test suites. Additionally, the LLM-generated test suites exposed ambiguities in some problem statements, underscoring their potential to improve both autograding and instructional design.
arXiv commentSubmitted to Journal of Computer Assisted Learning; updated table refs
References in corpus (11)
- Automatic Generation of Programming Exercises and Code Explanations using Large Language Models
- The Robots are Here: Navigating the Generative AI Revolution in Computing Education
- Reflexion: Language Agents with Verbal Reinforcement Learning
- Using Large Language Models to Enhance Programming Error Messages
- Comparing Code Explanations Created by Students and Large Language Models
- A Comparative Study of AI-Generated (GPT-4) and Human-crafted MCQs in Programming Education
- Desirable Characteristics for AI Teaching Assistants in Programming Education
- Using Large Language Models to Generate JUnit Tests: An Empirical Study
- Teaching Large Language Models to Self-Debug
- Learnersourcing in the Age of AI: Student, Educator and Machine Partnerships for Content Creation
- AI-enhanced Auto-correction of Programming Exercises: How Effective is GPT-3.5?
Cited by in corpus (4)
- Rubric Is All You Need: Enhancing LLM-based Code Evaluation With Question-Specific Rubrics
- Bridging LMS and generative AI: dynamic course content integration (DCCI) for enhancing student satisfaction and engagement via the ask ME assistant
- From Pilots to Practices: A Scoping Review of GenAI-Enabled Personalization in Computer Science Education
- Unlimited Practice Opportunities: Automated Generation of Comprehensive, Personalized Programming Tasks