You are here:
Publication details
Code Quality Defects in Introductory Programming
| Authors | |
|---|---|
| Year of publication | 2025 |
| Type | Peer-reviewed scientific article |
| Magazine / Source | ACM Transactions on Computing Education |
| MU Faculty or unit | |
| Citation | |
| web | ACM Digital Library |
| Doi | https://doi.org/10.1145/3749996 |
| Keywords | programming; code quality; defects; CS1 |
| Description | Code quality is a critical aspect of programming, as high-quality code is easier to maintain, and code maintenance constitutes the majority of software costs. Consequently, code quality should be emphasized in programming education. While previous research has identified numerous code quality defects commonly made by students, the current state lacks a clear organization and prioritization of these defects. In this work, we systematically address code quality defects in introductory programming from multiple perspectives. We present a comprehensive catalog of over 100 specific defects, organized through a structured classification of defect types and their associated programming constructs, along with an importance ranking. We conducted a survey among computer science educators regarding the severity of various defects. Our findings indicate that while individual opinions vary, there is general consensus on many code quality issues. We also review automated methods for detecting code quality defects and introduce a novel tool with extensive defect coverage. Finally, we analyze the prevalence of these defects using multiple datasets and prevalence metrics, demonstrating the importance of contextual interpretation when evaluating defect prevalence. |
| Related projects: |