A Qualitative Investigation into LLM-Generated Multilingual Code Comments and Automatic Evaluation Metrics
作者: Jonathan Katzy, Yongcheng Huang, Gopal-Raj Panchu, Maksym Ziemlewski, Paris Loizides, Sander Vermeulen, Arie van Deursen, Maliheh Izadi
分类: cs.SE, cs.AI
发布日期: 2025-05-21
备注: Accepted PROMISE '25
💡 一句话要点
评估LLM生成的多语言代码注释质量,揭示现有自动评估指标的局限性
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 代码语言模型 多语言代码注释 自动评估指标 错误类型分类 开放编码研究
📋 核心要点
- 现有代码语言模型主要以英语为中心训练,在多语言代码注释生成方面存在不足,缺乏对其性能的系统评估。
- 通过开放编码研究,分析了五个先进代码模型在五种自然语言中生成代码注释的错误,构建了一个包含12500个标记生成的数据集。
- 评估了标准指标在捕获跨语言注释正确性方面的可靠性,发现现有神经指标难以区分有意义的补全和随机噪声,评估效果不佳。
📝 摘要(中文)
大型语言模型是重要的代码助手,但其训练主要以英语为中心。本研究评估了代码语言模型在非英语环境中的性能,识别了它们在多语言工作流程中采用和集成所面临的挑战。我们进行了一项开放编码研究,分析了五个最先进的代码模型(CodeGemma、CodeLlama、CodeQwen1.5、GraniteCode 和 StarCoder2)在五种自然语言(中文、荷兰语、英语、希腊语和波兰语)中生成的代码注释中的错误。我们的研究产生了一个包含 12,500 个标记生成的数据集,我们将其公开发布。然后,我们评估了标准指标在捕获跨语言注释正确性方面的可靠性,并评估了它们作为判断标准的可靠性。通过我们的开放编码调查,我们识别了模型生成的代码注释中 26 个不同错误类别的分类。它们突出了不同自然语言在语言连贯性、信息性和语法遵守方面的差异。我们的分析表明,虽然这些模型经常产生部分正确的注释,但现代神经指标无法可靠地区分有意义的补全和随机噪声。值得注意的是,专家评定的正确和不正确注释之间的显着分数重叠使这些指标在评估生成的注释方面的有效性受到质疑。
🔬 方法详解
问题定义:现有代码语言模型在生成非英语代码注释时表现不佳,缺乏针对多语言环境的有效评估方法。现有的自动评估指标无法准确反映生成注释的质量,导致模型优化方向不明。
核心思路:通过人工分析模型生成的代码注释,构建错误类型分类体系,并以此为基础评估现有自动评估指标的可靠性。核心在于从人工评估的角度出发,考察自动评估指标与人类判断的一致性。
技术框架:该研究采用定性研究方法,主要分为两个阶段。第一阶段是开放编码研究,即人工分析模型生成的代码注释,识别并归纳错误类型,构建错误分类体系。第二阶段是评估现有自动评估指标的可靠性,通过比较指标得分与人工标注结果,分析指标的区分能力。
关键创新:该研究的关键创新在于构建了一个针对多语言代码注释的错误类型分类体系,并以此为基础评估了现有自动评估指标的可靠性。这为后续研究提供了更细粒度的评估标准,并指出了现有指标的局限性。
关键设计:研究选择了五个最先进的代码模型(CodeGemma、CodeLlama、CodeQwen1.5、GraniteCode 和 StarCoder2)和五种自然语言(中文、荷兰语、英语、希腊语和波兰语)。通过人工标注,构建了一个包含12500个标记生成的数据集。评估指标包括常用的神经机器翻译指标,如BLEU、ROUGE等。研究重点关注指标得分与人工标注结果之间的相关性,以及指标区分正确和错误注释的能力。
🖼️ 关键图片
📊 实验亮点
研究构建了一个包含26个错误类别的多语言代码注释错误分类体系。实验结果表明,现有神经指标在区分正确和错误注释方面表现不佳,专家评定的正确和不正确注释之间的分数重叠严重,这表明需要开发更可靠的评估指标。
🎯 应用场景
该研究成果可应用于改进多语言代码生成工具,提升代码可读性和可维护性。通过更可靠的自动评估指标,可以更有效地训练和优化代码语言模型,使其更好地服务于全球开发者。该研究也为开发更智能的代码助手奠定了基础。
📄 摘要(原文)
Large Language Models are essential coding assistants, yet their training is predominantly English-centric. In this study, we evaluate the performance of code language models in non-English contexts, identifying challenges in their adoption and integration into multilingual workflows. We conduct an open-coding study to analyze errors in code comments generated by five state-of-the-art code models, CodeGemma, CodeLlama, CodeQwen1.5, GraniteCode, and StarCoder2 across five natural languages: Chinese, Dutch, English, Greek, and Polish. Our study yields a dataset of 12,500 labeled generations, which we publicly release. We then assess the reliability of standard metrics in capturing comment \textit{correctness} across languages and evaluate their trustworthiness as judgment criteria. Through our open-coding investigation, we identified a taxonomy of 26 distinct error categories in model-generated code comments. They highlight variations in language cohesion, informativeness, and syntax adherence across different natural languages. Our analysis shows that, while these models frequently produce partially correct comments, modern neural metrics fail to reliably differentiate meaningful completions from random noise. Notably, the significant score overlap between expert-rated correct and incorrect comments calls into question the effectiveness of these metrics in assessing generated comments.