A Framework to Detect, Classify, and Prioritise Student Quality Defects

Read full text
Authors: Cui Shiman, Paul C. Denny, Andrew Luxton-Reilly
Cited by: 0
References: 32

Abstract

Code quality is an essential aspect of programming education, impacting source code maintainability and readability. However, providing manual feedback is time-consuming for instructors, and automated approaches to code quality feedback remain inconsistent and underdeveloped. We adapt a defect catalogue for novice Python programmers and construct an automated detection pipeline that integrates multiple static analysis tools and a custom natural language identifier detector. Using a standardised set of defect examples, we evaluate the detection coverage of the selected tools. Our results show that our integrated toolset detects 64 defect types, with 30 undetected. Applying the pipeline to over 86,000 student submissions, we analyse the prevalence and distribution of code quality defects in real coursework. To better align with pedagogical priorities, we introduce a multi-dimensional prioritisation framework that combines defect frequency, student coverage, and instructor-rated importance. Our findings provide a reference for improving feedback mechanisms and instructional strategies for code quality in introductory programming education.

Fields of Study & Subjects

Teaching and Learning Programming Software Engineering Research Software Testing and Debugging Techniques

Publication details

Journal / source
ACM Technical Symposium on Computer Science Education (SIGCSE)
Pages
246–252
Publication date
13 February 2026
Language
EN