# GPTutor: a ChatGPT-powered programming tool for code explanation

arXiv: https://arxiv.org/abs/2305.01863 · HTML: https://mlsanity.com/paper/2305.01863/

## Key facts

- Cited by 23 papers in the map (data through 14 Oct 2026).
- Builds on 3 of its 10 references that are in the map.
- First posted on arXiv 3 May 2023.

## Builds on (most cited first, 3 of 3)

- [Language Models are Few-Shot Learners](https://mlsanity.com/paper/2005.14165/) (2020)
- [The Curious Case of Neural Text Degeneration](https://mlsanity.com/paper/1904.09751/) (2019)
- [Prompt Programming for Large Language Models: Beyond the Few-Shot Paradigm](https://mlsanity.com/paper/2102.07350/) (2021)

## Built on by (most cited first, 23 of 23)

- [Exploring How Multiple Levels of GPT-Generated Programming Hints Support or Disappoint Novices](https://mlsanity.com/paper/2404.02213/) (2024)
- [The StudyChat Dataset: Analyzing Student Dialogues With ChatGPT in an Artificial Intelligence Course](https://mlsanity.com/paper/2503.07928/) (2025)
- [Learning from Teaching Assistants to Program with Subgoals: Exploring the Potential for AI Teaching Assistants](https://mlsanity.com/paper/2309.10419/) (2023)
- [Exploring the Limits of ChatGPT in Software Security Applications](https://mlsanity.com/paper/2312.05275/) (2023)
- [Enhancing Programming Education with ChatGPT: A Case Study on Student Perceptions and Interactions in a Python Course](https://mlsanity.com/paper/2403.15472/) (2024)
- [Humans are Still Better than ChatGPT: Case of the IEEEXtreme Competition](https://mlsanity.com/paper/2305.06934/) (2023)
- [Authoring Worked Examples for Java Programming with Human-AI Collaboration](https://mlsanity.com/paper/2312.02105/) (2023)
- [Understanding Help-Seeking Behavior of Students Using LLMs vs. Web Search for Writing SQL Queries](https://mlsanity.com/paper/2408.08401/) (2024)
- [From Critique to Clarity: A Pathway to Faithful and Personalized Code Explanations with Large Language Models](https://mlsanity.com/paper/2501.14731/) (2024)
- [VTutor: An Animated Pedagogical Agent SDK that Provide Real Time Multi-Model Feedback](https://mlsanity.com/paper/2505.06676/) (2025)
- [Enhancing COBOL Code Explanations: A Multi-Agents Approach Using Large Language Models](https://mlsanity.com/paper/2507.02182/) (2025)
- [A Meta-Analysis of LLM Effects on Students across Qualification, Socialisation, and Subjectification](https://mlsanity.com/paper/2509.22725/) (2025)
- [Human-AI Co-Creation of Worked Examples for Programming Classes](https://mlsanity.com/paper/2402.16235/) (2024)
- [Easy Come, Easy Go? Examining the Perceptions and Learning Effects of LLM-based Chatbot in the Context of Search-as-Learning](https://mlsanity.com/paper/2410.01396/) (2024)
- [Semantic Captioning: Benchmark Dataset and Graph-Aware Few-Shot In-Context Learning for SQL2Text](https://mlsanity.com/paper/2501.03166/) (2025)
- [JELAI: Integrating AI and Learning Analytics in Jupyter Notebooks](https://mlsanity.com/paper/2505.17593/) (2025)
- [Design of AI-Powered Tool for Self-Regulation Support in Programming Education](https://mlsanity.com/paper/2504.03068/) (2025)
- [Cognitive-Level Adaptive Generation via Capability-Aware Retrieval and Style Adaptation](https://mlsanity.com/paper/2509.19336/) (2025)
- [Chat-Based Support Alone May Not Be Enough: Comparing Conversational and Embedded LLM Feedback for Mathematical Proof Learning](https://mlsanity.com/paper/2602.18807/) (2026)
- [ALGOGEN: Tool-Generated Verifiable Traces for Reliable Algorithm Visualization](https://mlsanity.com/paper/2605.12159/) (2026)
- [Patterns of Learner-AI Interaction and Academic Performance in an Object-Oriented Programming Course](https://mlsanity.com/paper/2607.24755/) (2026)
- [A Retrieval-Augmented Automated Stakeholder for Requirements Elicitation Education: A Comparative Study](https://mlsanity.com/paper/2609.12576/) (2026)
- [Understanding Generative AI Use in Programming MOOCs: The Role of Course Context and Learner Characteristics](https://mlsanity.com/paper/2610.04447/) (2026)

## Abstract (arXiv)

Learning new programming skills requires tailored guidance. With the emergence of advanced Natural Language Generation models like the ChatGPT API, there is now a possibility of creating a convenient and personalized tutoring system with AI for computer science education. This paper presents GPTutor, a ChatGPT-powered programming tool, which is a Visual Studio Code extension using the ChatGPT API to provide programming code explanations. By integrating Visual Studio Code API, GPTutor can comprehensively analyze the provided code by referencing the relevant source codes. As a result, GPTutor can use designed prompts to explain the selected code with a pop-up message. GPTutor is now published at the Visual Studio Code Extension Marketplace, and its source code is openly accessible on GitHub. Preliminary evaluation indicates that GPTutor delivers the most concise and accurate explanations compared to vanilla ChatGPT and GitHub Copilot. Moreover, the feedback from students and teachers indicated that GPTutor is user-friendly and can explain given codes satisfactorily. Finally, we discuss possible future research directions for GPTutor. This includes enhancing its performance and personalization via further prompt programming, as well as evaluating the effectiveness of GPTutor with real users.
