Michael Muller, Steven Ross, et al.
IUI 2022
Understanding the purpose of source code is a critical task in software maintenance, onboarding, and modernization. While large language models (LLMs) have shown promise in generating code explanations, they often lack grounding in the broader software engineering context. We propose a novel approach that leverages natural language artifacts from GitHub---such as pull request descriptions, issue descriptions and discussions, and commit messages---to enhance LLM-based code understanding. Our system consists of three components: one that extracts and structures relevant GitHub context, another that uses this context to generate high-level explanations of the code's purpose, and a third that validates the explanation. We implemented this as a standalone tool, as well as a server within the Model Context Protocol (MCP), enabling integration with other AI-assisted development tools. Our main use case is that of enhancing a standard LLM-based code explanation with code insights that our system generates. To evaluate explanations' quality, we conducted a small scale user study, with developers of several open projects, as well as developers of proprietary projects. Our user study indicates that when insights are generated they often are helpful and non trivial, and do not include hallucinations.
Michael Muller, Steven Ross, et al.
IUI 2022
Sahil Suneja, Yufan Zhuang, et al.
ACM TOSEM
Chih-kai Ting, Karl Munson, et al.
AAAI 2023
Flavio M. De Paula, Amir Nahir, et al.
DAC 2011