🤖 AI Summary
This work addresses the challenges students face in understanding and debugging nondeterministic concurrency bugs—such as deadlocks and race conditions—when learning parallel programming. The authors propose ParaView, an educational tool that integrates execution trace visualization with large language model (LLM) analysis, uniquely combining program execution logs, visual representations of parallel behavior, and LLM-driven error explanations and repair suggestions for concurrent programming instruction. In an evaluation with 17 students, the use of ParaView led to significantly higher success rates in both debugging and implementation tasks. Most participants reported that ParaView effectively supported their learning, and the LLM accurately identified common concurrency errors and interpreted execution traces, though its repair suggestions remained limited in complex synchronization scenarios.
📝 Abstract
Concurrent programming is a core component of Computer Science curricula, yet remains notoriously difficult for students to master due to its inherent complexity and the nondeterministic nature of concurrency bugs such as deadlocks and race conditions. In this work, we present ParaView, an educational tool designed to help students understand, debug, and correct concurrency issues in parallel programs written in C/C++. ParaView provides transparent execution recording and visualization to make parallel execution observable and comprehensible. We evaluated ParaView through a series of debugging and implementation tasks, with 17 students participating. Results showed a significant improvement in debugging and implementation successes compared to previous course iterations. A student survey confirmed that most participants found ParaView helpful. To further support learning outside the classroom, we explored using Large Language Models (LLMs) to analyze concurrency bugs and suggest fixes. While LLMs were highly effective in identifying bugs and explaining execution traces, the correctness of their bug fixes varied, especially for more complex synchronization patterns. Our findings suggest that recording-visualization tools like ParaView, complemented by artificial intelligence (AI), can improve teaching and learning of concurrent programming.