CrossPL: Evaluating Large Language Models on Cross Programming Language Code Generation

📄 arXiv: 2507.19904v1 📥 PDF

作者: Zhanhang Xiong, Dongxia Wang, Yuekang Li, Xinyuan An, Wenhai Wang

分类: cs.SE, cs.AI

发布日期: 2025-07-26


💡 一句话要点

CrossPL:首个跨编程语言代码生成能力评测基准

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 跨编程语言代码生成 大型语言模型 软件工程 进程间通信 评估基准

📋 核心要点

  1. 现有大型语言模型在跨编程语言互操作代码生成方面能力不足,难以满足复杂软件系统构建需求。
  2. CrossPL基准通过分析多语言代码仓库,自动提取CPL代码片段,并生成任务指令,系统评估LLM的CPL代码生成能力。
  3. 实验结果表明,即使是最先进的LLM在CrossPL基准上表现不佳,表明CPL代码生成是一个有待深入研究的领域。

📝 摘要(中文)

随着大型语言模型(LLMs)日益融入软件工程流程,跨编程语言(CPL)互操作代码的生成能力仍未得到充分探索。这种能力对于构建通过进程间通信(IPC)等机制集成多种语言编写的组件的复杂系统至关重要。为了弥补这一差距,我们提出了CrossPL,这是第一个旨在系统评估LLM生成CPL互操作代码能力的基准。CrossPL包含1982个围绕IPC的任务,涵盖六种广泛使用的编程语言和七种代表性的CPL技术。我们通过以下方式构建此基准:(i)使用156个手工制作的有限状态机(FSM)分析19169个多语言GitHub存储库,以及(ii)开发一个基于LLM的pipeline,自动提取CPL代码片段,生成任务指令并验证功能正确性。我们通过基于FSM的验证在CrossPL上评估了过去三年发布的14个最先进的通用LLM和6个面向代码的LLM。结果表明,即使是性能最佳的模型也难以应对CPL场景,突显了在该领域进行更有针对性的研究的必要性。我们的基准和代码可在以下网址获得:https://anonymous.4open.science/r/crosspl-2814。

🔬 方法详解

问题定义:论文旨在解决大型语言模型(LLMs)在跨编程语言(CPL)代码生成方面的能力评估问题。现有方法缺乏针对CPL场景的系统性评估基准,无法准确衡量LLMs在生成互操作代码方面的性能。这阻碍了LLMs在复杂软件系统开发中的应用,因为这些系统通常需要集成多种编程语言编写的组件。

核心思路:论文的核心思路是构建一个专门用于评估LLMs在CPL代码生成方面能力的基准测试集CrossPL。该基准通过分析真实世界的多语言代码仓库,提取CPL代码片段,并自动生成任务指令和验证代码,从而系统地评估LLMs在不同CPL场景下的性能。

技术框架:CrossPL的构建流程主要包含两个阶段:(1) 数据收集与分析:使用156个手工制作的有限状态机(FSM)分析19,169个多语言GitHub存储库,识别并提取CPL代码片段。(2) 基准生成与验证:开发一个基于LLM的pipeline,自动从提取的代码片段生成任务指令,并使用FSM进行功能正确性验证。整体流程旨在自动化地构建高质量的CPL代码生成评估基准。

关键创新:CrossPL的关键创新在于它是第一个专门针对CPL代码生成能力进行系统评估的基准。与现有的代码生成基准不同,CrossPL专注于评估LLMs生成能够实现跨语言互操作的代码的能力,这对于构建复杂的、多语言的软件系统至关重要。此外,CrossPL还采用了基于FSM的自动化验证方法,提高了评估的效率和准确性。

关键设计:CrossPL包含1982个围绕进程间通信(IPC)的任务,涵盖六种广泛使用的编程语言(如Python, Java, C++)和七种代表性的CPL技术。任务指令的设计力求清晰明确,能够准确描述CPL代码生成的目标。FSM的设计用于精确验证生成的代码是否满足预期的功能需求。具体参数设置和损失函数未知。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,即使是最先进的通用LLM和面向代码的LLM在CrossPL基准上的表现仍然不佳,这表明CPL代码生成对LLM来说是一个具有挑战性的任务。具体性能数据未知,但整体结果突显了当前LLM在CPL代码生成方面的局限性,并强调了在该领域进行更多研究的必要性。

🎯 应用场景

CrossPL基准的潜在应用领域包括软件工程、人工智能辅助编程和多语言系统开发。它可以帮助开发者选择和优化LLM,提高跨编程语言软件开发的效率和质量。未来,CrossPL可以扩展到更多编程语言和CPL技术,并用于训练和微调LLM,提升其CPL代码生成能力。

📄 摘要(原文)

As large language models (LLMs) become increasingly embedded in software engineering workflows, a critical capability remains underexplored: generating correct code that enables cross-programming-language (CPL) interoperability. This skill is essential for building complex systems that integrate components written in multiple languages via mechanisms like inter-process communication (IPC). To bridge this gap, we present CrossPL, the first benchmark designed to systematically evaluate LLMs' ability to generate CPL-interoperating code. CrossPL comprises 1,982 tasks centered around IPC, covering six widely-used programming languages and seven representative CPL techniques. We construct this benchmark by (i) analyzing 19,169 multi-language GitHub repositories using 156 hand-crafted finite state machines (FSMs), and (ii) developing an LLM-based pipeline that automatically extracts CPL code snippets, generates task instructions, and validates functional correctness. We evaluate 14 state-of-the-art general-purpose LLMs and 6 code-oriented LLMs released in the past three years on CrossPL via FSM-based validation. Results reveal that even the best-performing models struggle with CPL scenarios, underscoring the need for more targeted research in this space. Our benchmark and code are available at: https://anonymous.4open.science/r/crosspl-2814.