Using an LLM to Help With Code Understanding
Daye Nam, Andrew Macvean, Vincent Hellendoorn, Bogdan, Vasilescu, Brad Myers

TL;DR
This paper explores an IDE plugin that integrates an LLM to assist developers in understanding code through natural language explanations, API details, and contextual prompts, showing it improves task completion over web search.
Contribution
Introduces a novel IDE plugin leveraging LLMs for code understanding without explicit prompts, evaluated through a user study demonstrating its effectiveness.
Findings
Plugin aids task completion more than web search
Usage and perceived usefulness vary between students and professionals
In-IDE prompt-less interaction with LLMs is promising
Abstract
Understanding code is challenging, especially when working in new and complex development environments. Code comments and documentation can help, but are typically scarce or hard to navigate. Large language models (LLMs) are revolutionizing the process of writing code. Can they do the same for helping understand it? In this study, we provide a first investigation of an LLM-based conversational UI built directly in the IDE that is geared towards code understanding. Our IDE plugin queries OpenAI's GPT-3.5-turbo model with four high-level requests without the user having to write explicit prompts: to explain a highlighted section of code, provide details of API calls used in the code, explain key domain-specific terms, and provide usage examples for an API. The plugin also allows for open-ended prompts, which are automatically contextualized to the LLM with the program being edited. We…
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
TopicsSoftware Engineering Research · Scientific Computing and Data Management · Model-Driven Software Engineering Techniques
Methods{Dispute@FaQ-s}How to file a dispute with Expedia? · Multi-Head Attention · 15 Ways to Contact How can i speak to someone at Delta Airlines · Attention Is All You Need · Position-Wise Feed-Forward Layer · Label Smoothing · Residual Connection · Absolute Position Encodings · Adam · Cosine Annealing
