Mining patterns in syntax trees to automate code reviews of student solutions for programming exercises

Charlotte Van Petegem, Kasper Demeyere, Rien Maertens, Niko Strijbol, Bram De Wever +2 more
4/26/2024
cs.SEcs.CYcs.LG

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

Abstract

In programming education, providing manual feedback is essential but labour-intensive, posing challenges in consistency and timeliness. We introduce ECHO, a machine learning method to automate the reuse of feedback in educational code reviews by analysing patterns in abstract syntax trees. This study investigates two primary questions: whether ECHO can predict feedback annotations to specific lines of student code based on previously added annotations by human reviewers (RQ1), and whether its training and prediction speeds are suitable for using ECHO for real-time feedback during live code reviews by human reviewers (RQ2). Our results, based on annotations from both automated linting tools and human reviewers, show that ECHO can accurately and quickly predict appropriate feedback annotations. Its efficiency in processing and its flexibility in adapting to feedback patterns can significantly reduce the time and effort required for manual feedback provisioning in educational settings.

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{petegem2024mining,
  title  = {Mining patterns in syntax trees to automate code reviews of student solutions for programming exercises},
  author = {Charlotte Van Petegem and Kasper Demeyere and Rien Maertens and Niko Strijbol and Bram De Wever and Bart Mesuere and Peter Dawyndt},
  year   = {2024},
  eprint = {2405.01579},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2405.01579v1}
}

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/2405.01579.svg)](https://codeofpaper.com/paper/2405.01579)

Discussion