论文
评估软件工程机器学习中的非英语开发人员支持
Evaluating Non-English Developer Support in Machine Learning for Software Engineering
摘要
大语言模型 在软件工程中的使用越来越多,但代码生成及其评估仍然主要以英语为中心。这使得我们对当前工具支持多语言开发(其中代码包含非英语自然语言)的支持程度存在重大差距。在本文中,我们研究了非英语代码注释的生成以及当前评估此类输出的方法的可靠性。我们评估了五种自然语言(荷兰语、英语、希腊语、波兰语和中文)中的五个代码 LLM(CodeGemma、CodeLlama、CodeQwen1.5、GraniteCode 和 StarCoder2)。我们进一步对 12,500 条生成的评论进行开放编码研究,从中得出公开发布的人工注释数据集和 26 种错误类型的分类法。我们使用这些人工注释来评估神经指标和 LLM-as-a-judge pipeline 的性能。我们的研究结果表明,在英语之外,生成性能大幅恶化,语言错误增加高达 15.1$\times$,同时生成频繁不连贯,语义错误也有所增加。更重要的是,我们表明检测非英语评论中的错误表现不佳。在经典的基于重叠的指标、现成的神经指标、使用较新的多语言、特定于语言和特定于代码的模型的扩展神经指标以及 LLM 作为法官管道中,没有自动方法可以提供可靠且一致的评估。神经指标无法区分正确的评论和错误的输出,甚至是随机噪音,并且往往会高估非英语环境中的质量。 LLM-as-a-judge 方法与人类注释实现了最高的一致性,但无法可靠地捕获重要的语言相关和语义错误。总的来说,我们的结果表明,评估和生成是多语言工具的主要障碍,而人类的判断仍然不可或缺。