LLM Hallucinations in Practical Code Generation: Phenomena, Mechanism, and Mitigation
Ziyao Zhang, Yanlin Wang, Chong Wang, Jiachi Chen, Zibin Zheng
TL;DR
The paper addresses LLM hallucinations in repository-level code generation by constructing a taxonomy of failure modes across six mainstream LLMs using real-world CoderEval tasks, and by analyzing root causes. It shows that Task Requirement Conflicts, Factual Knowledge Conflicts, and Project Context Conflicts dominate, driven by data quality, intention understanding, knowledge acquisition, and repository-context awareness. A lightweight RAG-based mitigation leveraging repository code snippets improves functional correctness (Pass@1) across models, with case studies illustrating resolution of task- and context-related hallucinations. The work provides practical guidance and replication resources for improving reliability of LLM-assisted code generation in real development settings and suggests directions for more robust, context-aware augmentation strategies.
Abstract
Code generation aims to automatically generate code from input requirements, significantly enhancing development efficiency. Recent large language models (LLMs) based approaches have shown promising results and revolutionized code generation task. Despite the promising performance, LLMs often generate contents with hallucinations, especially for the code generation scenario requiring the handling of complex contextual dependencies in practical development process. Although previous study has analyzed hallucinations in LLM-powered code generation, the study is limited to standalone function generation. In this paper, we conduct an empirical study to study the phenomena, mechanism, and mitigation of LLM hallucinations within more practical and complex development contexts in repository-level generation scenario. First, we manually examine the code generation results from six mainstream LLMs to establish a hallucination taxonomy of LLM-generated code. Next, we elaborate on the phenomenon of hallucinations, analyze their distribution across different models. We then analyze causes of hallucinations and identify four potential factors contributing to hallucinations. Finally, we propose an RAG-based mitigation method, which demonstrates consistent effectiveness in all studied LLMs. The replication package including code, data, and experimental results is available at https://github.com/DeepSoftwareAnalytics/LLMCodingHallucination
