Nurturing Code Quality: Leveraging Static Analysis and Large Language Models for Software Quality in Education

Research output: Contribution to journalArticlepeer-review

2 Scopus citations

Abstract

Large Language Models (LLMs), such as ChatGPT, have become widely popular for various software engineering tasks, including programming, testing, code review, and program comprehension. However, their impact on improving software quality in educational settings remains uncertain. This article explores our experience teaching the use of Programming Mistake Detector (PMD) to foster a culture of bug fixing and leverage LLM to improve software quality in the classroom. This article discusses the results of an experiment involving 155 submissions that carried out a code review activity of 1,658 rules. Our quantitative and qualitative analyses reveal that a set of PMD quality issues influences the acceptance or rejection of the issues, and design-related categories that take longer to resolve. Although students acknowledge the potential of using ChatGPT during code review, some skepticism persists. Further, constructing prompts for ChatGPT that possess clarity, complexity, and context nurtures vital learning outcomes, such as enhanced critical thinking, and among the 1,658 issues analyzed, 93% of students indicated that ChatGPT did not identify any additional issues beyond those detected by PMD. Conversations between students and ChatGPT encompass five categories, including ChatGPT's use of affirmation phrases like "certainly"regarding bug fixing decisions, and apology phrases such as "apologize"when resolving challenges. Through this experiment, we demonstrate that code review can become an integral part of the educational computing curriculum. We envision our findings to enable educators to support students with effective code review strategies, increasing awareness of LLMs, and promoting software quality in education.

Original languageEnglish
Article number16
JournalACM Transactions on Computing Education
Volume25
Issue number2
DOIs
StatePublished - 20 May 2025

Keywords

  • bugfix
  • code quality
  • education
  • large language models
  • static analysis

Fingerprint

Dive into the research topics of 'Nurturing Code Quality: Leveraging Static Analysis and Large Language Models for Software Quality in Education'. Together they form a unique fingerprint.

Cite this