Table of Contents
Fetching ...

Enhancing Debugging Skills with AI-Powered Assistance: A Real-Time Tool for Debugging Support

Elizaveta Artser, Daniil Karol, Anna Potriasaeva, Aleksei Rostovskii, Katsiaryna Dzialets, Ekaterina Koshchenko, Xiaotian Su, April Yi Wang, Anastasiia Birillo

TL;DR

An AI-powered debugging assistant integrated into an IDE that offers real-time support by analyzing code, suggesting breakpoints, and providing contextual hints, and a three-level evaluation highlights its potential for teaching debugging.

Abstract

Debugging is a crucial skill in programming education and software development, yet it is often overlooked in CS curricula. To address this, we introduce an AI-powered debugging assistant integrated into an IDE. It offers real-time support by analyzing code, suggesting breakpoints, and providing contextual hints. Using RAG with LLMs, program slicing, and custom heuristics, it enhances efficiency by minimizing LLM calls and improving accuracy. A three-level evaluation - technical analysis, UX study, and classroom tests - highlights its potential for teaching debugging.

Enhancing Debugging Skills with AI-Powered Assistance: A Real-Time Tool for Debugging Support

TL;DR

An AI-powered debugging assistant integrated into an IDE that offers real-time support by analyzing code, suggesting breakpoints, and providing contextual hints, and a three-level evaluation highlights its potential for teaching debugging.

Abstract

Debugging is a crucial skill in programming education and software development, yet it is often overlooked in CS curricula. To address this, we introduce an AI-powered debugging assistant integrated into an IDE. It offers real-time support by analyzing code, suggesting breakpoints, and providing contextual hints. Using RAG with LLMs, program slicing, and custom heuristics, it enhances efficiency by minimizing LLM calls and improving accuracy. A three-level evaluation - technical analysis, UX study, and classroom tests - highlights its potential for teaching debugging.
Paper Structure (16 sections, 2 figures, 1 table)

This paper contains 16 sections, 2 figures, 1 table.

Figures (2)

  • Figure 1: Main components of the AI Debugging Assistant tool.
  • Figure 2: The tool pipeline: (1) program repair; (2) breakpoints recommendations; (3) breakpoints explanations components. The program repair component takes a student solution and a failed test, searching the RAG database for a similar correct solution. If a match is found, the process ends; if not, a new fixed solution is generated alongside the author’s initial solution. The breakpoint recommendations component analyzes the fixed solution, and the breakpoint explanations component generates explanations for each recommended breakpoint.