This project would be appropriate for Year 4, Year 5 or MSc student.
AI Coding Assistants (e.g. GitHub Copilot) are quickly becoming a valuable tool for developers. As well as suggesting next blocks of code and writing code in response to natural prompts, AI coding assistants have been shown to be quite effective at finding and correcting errors [1]. But are the corrections they offer appropriate for novice programmers taking introductory programming courses? For example, do the corrections significantly modify the original program? Do they introduce different programming concepts with which a learner might be unfamiliar? Do they closely resemble the solution that the student might have found themselves?
This project will begin by exploring published research on automated program repair, particularly in the context of introductory programming education. It will then design and implement a range of analysis methods to explore the above questions.
A student undertaking the project would be free to choose the most appropriate tools and programming languages for the project.
[1] J. Zhang et al., ‘Repairing Bugs in Python Assignments Using Large Language Models’, 2022, arXiv preprint: arXiv:2209.14876. http://arxiv.org/abs/2209.14876