One Step at a Time: Combining LLMs and Static Analysis to Generate Next-Step Hints for Programming Tasks
Anastasiia Birillo, Elizaveta Artser, Anna Potriasaeva, Ilya Vlasov,, Katsiaryna Dzialets, Yaroslav Golubev, Igor Gerasimov, Hieke Keuning, Timofey, Bryksin

TL;DR
This paper presents a novel system combining large language models and static analysis to generate effective next-step hints for programming students, improving their learning experience in online coding environments.
Contribution
The work introduces a new pipeline that integrates LLMs with static analysis for generating both textual and code hints, enhancing the quality and usefulness of hints in educational settings.
Findings
Hints were helpful for students in classroom settings
The system improved students' ability to proceed with coding tasks
Expert validation confirmed the quality of generated hints
Abstract
Students often struggle with solving programming problems when learning to code, especially when they have to do it online, with one of the most common disadvantages of working online being the lack of personalized help. This help can be provided as next-step hint generation, i.e., showing a student what specific small step they need to do next to get to the correct solution. There are many ways to generate such hints, with large language models (LLMs) being among the most actively studied right now. While LLMs constitute a promising technology for providing personalized help, combining them with other techniques, such as static analysis, can significantly improve the output quality. In this work, we utilize this idea and propose a novel system to provide both textual and code hints for programming tasks. The pipeline of the proposed approach uses a chain-of-thought prompting…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
MethodsHierarchical Information Threading
