FACKT: A Fault-Aware Model for Code Knowledge Tracing
摘要
Programming skills are an essential competency in today's digital age. As online judgement systems have gained popularity, students are contributing vast amounts of behavioral data through programming exercises. Traditional knowledge tracing can be employed to predict students’ performance in programming. Nevertheless, these methods frequently fall short by neglecting the role of code faults in modeling programming learning state. Furthermore, they fail to capture the dynamic and semantic characteristics of source code due to reliance on general-purpose code representation techniques. In this study, we propose a novel method called Fault-Aware Code Knowledge Tracing (FACKT), which integrates a dual-LSTM architecture with attention mechanisms and memory decay theory to track the evolution of both fault patterns and knowledge states of students. Moreover, by incorporating test case analysis with Large Language Models (LLMs), FACKT autonomously generates fault types, thereby enriching the code representation. Experimental results indicate that FACKT achieves an 8.3% improvement in AUC and a 3.5% increase in ACC compared to baseline methods. Ablation studies further demonstrate the effectiveness of modeling the fault evolution process. Additionally, we publicly release FACKT_2024, a dataset comprising 74,269 code submissions from university students.