SwiftEval: Developing a Language-Specific Benchmark for LLM-generated Code Evaluation
作者: Ivan Petrukha, Yana Kurliak, Nataliia Stulova
分类: cs.LG, cs.CL, cs.PL, cs.SE
发布日期: 2025-05-30
备注: Accepted to FORGE'25 Benchmarking on 15.01.2025, to be published by IEEE under the CC BY-NC-ND 4.0 license. This is the accepted version of the article (5 pages, 2 figures, 1 table). DOI will be added upon publication
💡 一句话要点
提出SwiftEval:一个用于评估LLM生成Swift代码能力的高质量基准
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 代码生成 大型语言模型 Swift 评估基准 编程语言 软件工程 人工智能
📋 核心要点
- 现有代码生成评估基准主要集中于Python,缺乏对Swift等其他语言的有效评估。
- SwiftEval通过手工构建高质量的Swift问题,提供更准确的LLM代码生成能力评估。
- 实验结果表明,现有LLM在处理需要Swift特定功能的代码生成任务时性能显著下降。
📝 摘要(中文)
近年来,大型语言模型(LLMs)在代码生成方面取得了显著进展。然而,大多数评估基准主要面向Python,使得高质量地评估其他编程语言(如Swift)变得困难。通过检查广泛使用的多语言基准(如HumanEval-XL和MultiPL-E),我们发现了Swift组件特有的关键问题,这些问题使得它们不足以甚至不适用于评估LLM在Swift上的编码能力。与现有方法(优先考虑通过使用LLM自动翻译以Python为中心的基准来实现快速扩展和泛化)不同,我们采用了一种质量优先于数量的方法。我们提出了SwiftEval,这是第一个面向Swift的基准,包含28个精心手工制作的问题,并在此基础上评估了44个流行的代码LLM。我们的结果表明,对于需要特定于语言的功能的问题,LLM的分数显著下降,在较小规模的模型中最为明显。
🔬 方法详解
问题定义:现有的大型语言模型(LLMs)在代码生成方面取得了显著的进展,但是现有的评估基准主要集中在Python语言上,对于其他编程语言,例如Swift,缺乏高质量的评估基准。现有的多语言基准,例如HumanEval-XL和MultiPL-E,在Swift语言上的评估存在问题,无法准确评估LLM在Swift语言上的代码生成能力。
核心思路:该论文的核心思路是采用质量优先于数量的方法,手工构建一个高质量的Swift语言代码生成评估基准,即SwiftEval。通过精心设计的问题,更准确地评估LLM在Swift语言上的代码生成能力,从而弥补现有基准的不足。
技术框架:SwiftEval基准包含28个手工构建的Swift编程问题。研究人员使用该基准评估了44个流行的代码LLM。评估过程主要关注LLM在处理需要Swift特定语言功能的问题时的表现。通过分析LLM在这些问题上的得分,可以了解LLM在Swift语言上的代码生成能力。
关键创新:该论文的关键创新在于提出了第一个专门针对Swift语言的代码生成评估基准SwiftEval。与现有方法不同,SwiftEval不是通过自动翻译Python基准来快速扩展,而是通过手工构建高质量的问题来保证评估的准确性。这种质量优先的方法能够更准确地反映LLM在Swift语言上的代码生成能力。
关键设计:SwiftEval中的28个问题是经过精心设计的,涵盖了Swift语言的各种特性和编程范式。具体的技术细节(如参数设置、损失函数、网络结构等)取决于被评估的LLM,SwiftEval本身作为一个基准,不涉及这些细节。关键在于问题的设计要能够充分测试LLM对Swift语言的理解和应用能力。
🖼️ 关键图片
📊 实验亮点
实验结果表明,现有LLM在SwiftEval基准上的表现差异显著,尤其是在处理需要Swift特定功能的问题时,LLM的得分明显下降。较小规模的模型在这些问题上的表现更为糟糕。这些结果表明,现有LLM在Swift语言上的代码生成能力仍有很大的提升空间,SwiftEval可以作为一个有效的评估工具,促进LLM在Swift编程领域的进一步发展。
🎯 应用场景
SwiftEval可用于评估和比较不同LLM在Swift代码生成方面的能力,帮助开发者选择合适的模型。同时,该基准可以促进LLM在Swift编程领域的应用,例如自动化代码生成、代码补全、代码修复等,提高软件开发效率。未来,SwiftEval可以扩展到更多Swift语言特性和应用场景,进一步提升LLM在Swift编程领域的实用性。
📄 摘要(原文)
In recent years, large language models (LLMs) have showcased significant advancements in code generation. However, most evaluation benchmarks are primarily oriented towards Python, making it difficult to evaluate other programming languages, such as Swift, with high quality. By examining widely established multilingual benchmarks like HumanEval-XL and MultiPL-E, we identified critical issues specific to their Swift components, making them insufficient or even irrelevant for assessing LLM coding capabilities on Swift. Unlike these existing approaches, which prioritize rapid scaling and generalization by automatically translating Python-centric benchmarks with LLMs, we adopt a quality-over-quantity methodology. We present SwiftEval, the first Swift-oriented benchmark consisting of 28 carefully hand-crafted problems, and evaluate 44 popular Code LLMs on it. Our results show significant LLM scores drop for problems requiring language-specific features, most noticeable in the models of smaller sizes.