Learning Code-Edit Embedding to Model Student Debugging Behavior

Hasnain Heickal, Andrew Lan
2/26/2025
cs.SEcs.CL

No confident code implementation found for this paper. 1 possible match can be shown below.

Abstract

Providing effective feedback for programming assignments in computer science education can be challenging: students solve problems by iteratively submitting code, executing it, and using limited feedback from the compiler or the auto-grader to debug. Analyzing student debugging behavior in this process may reveal important insights into their knowledge and inform better personalized support tools. In this work, we propose an encoder-decoder-based model that learns meaningful code-edit embeddings between consecutive student code submissions, to capture their debugging behavior. Our model leverages information on whether a student code submission passes each test case to fine-tune large language models (LLMs) to learn code editing representations. It enables personalized next-step code suggestions that maintain the student's coding style while improving test case correctness. Our model also enables us to analyze student code-editing patterns to uncover common student errors and debugging behaviors, using clustering techniques. Experimental results on a real-world student code submission dataset demonstrate that our model excels at code reconstruction and personalized code suggestion while revealing interesting patterns in student debugging behavior.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. 1 weaker match is hidden by default — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{heickal2025learning,
  title  = {Learning Code-Edit Embedding to Model Student Debugging Behavior},
  author = {Hasnain Heickal and Andrew Lan},
  year   = {2025},
  eprint = {2502.19407},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2502.19407v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2502.19407.svg)](https://codeofpaper.com/paper/2502.19407)

Discussion