大型语言模型跨语言代码翻译中的幻觉:现象与缓解
Hallucinations of Large Language Models in Cross-Language Code Translation: Phenomena and Mitigation
精选理由
深度 94 / 新颖度 86,来自 arXiv cs.AI。
AI 摘要
代码翻译是在保留功能的同时,将源代码从一种编程语言转换为另一种编程语言。尽管大型语言模型(LLMs)提升了代码翻译能力,但其输出仍包含幻觉:生成的代码与源程序相冲突、违反目标语言事实,或引入上下文不一致的依赖。这些失败在翻译任务中尤其有害,因为细微的语义偏差可能会悄然改变程序行为。现有的幻觉研究主要聚焦于自然语言生成或代码生成,对于跨语言代码翻译中幻觉的形式、分布及缓解方法仍缺乏充分刻画。本文对代码翻译中的LLM幻觉进行了系统的实证研究。基于三个基准数据集、六种语言对和七个LLM,我们构建了一个包含三大类别的分类体系:语义一致性冲突、事实知识冲突和项目上下文偏差。我们人工标注了13,919个幻觉案例,并分析了不同模型、数据集和语言方向下幻觉类型的变化。受该分类体系指导,我们进一步提出了HaluCodeTran这一缓解框架,将基于BM25的相关翻译示例检索与分类体系感知的反思式细化相结合。本研究提供了经过执行测试的代码翻译幻觉刻画,并为构建更可靠的基于LLM的代码迁移工具提供了实用基线。