CONCUR: Benchmarking LLMs for Concurrent Code Generation

📄 arXiv: 2603.03683v1 📥 PDF

作者: Jue Huang, Tarek Mahmud, Corina Pasareanu, Guowei Yang

分类: cs.SE, cs.CL, cs.LG

发布日期: 2026-03-04


💡 一句话要点

CONCUR:用于评估LLM并发代码生成能力的新基准测试

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

关键词: 并发代码生成 大型语言模型 基准测试 代码评估 软件工程

📋 核心要点

  1. 现有代码生成基准测试主要关注顺序代码,忽略了并发代码的复杂性和特有bug,无法有效评估LLMs的并发代码生成能力。
  2. CONCUR基准测试通过构建包含基础并发问题和变异体的测试集,旨在全面评估LLMs在并发代码生成方面的能力。
  3. 实验结果表明,当前LLMs在并发代码生成方面存在局限性,CONCUR为未来研究提供了评估和改进方向。

📝 摘要(中文)

本文提出了一种名为CONCUR的基准测试,专门用于评估大型语言模型(LLMs)生成并发代码的能力。现有的基准测试主要关注顺序代码,无法有效评估LLMs在并发代码生成方面的性能。与顺序代码相比,并发代码更加复杂,并且存在死锁和竞争条件等独特的bug。CONCUR包含一个由43个并发问题组成的基础集,这些问题源自标准的并发教材,以及72个经过验证的变异体,总共包含115个问题。基础问题构成了基准测试的语义核心,而变异体则扩展了语言和结构的多样性。通过在CONCUR上评估一系列LLMs,揭示了当前模型的局限性。这项工作为评估LLMs生成代码的能力提供了一个新的方向,重点关注并发性。

🔬 方法详解

问题定义:论文旨在解决现有代码生成基准测试无法有效评估LLMs并发代码生成能力的问题。现有基准测试主要关注顺序代码,忽略了并发代码中特有的死锁、竞争条件等bug,导致无法准确评估LLMs在并发场景下的代码生成质量。

核心思路:论文的核心思路是构建一个专门针对并发代码生成的基准测试集CONCUR。该基准测试集包含一系列具有代表性的并发问题,以及这些问题的变异体,从而能够更全面地评估LLMs在不同并发场景下的代码生成能力。通过分析LLMs在CONCUR上的表现,可以发现其在并发代码生成方面的不足,并为未来的研究提供改进方向。

技术框架:CONCUR基准测试集主要包含两个部分:基础问题集和变异体集。基础问题集由43个并发问题组成,这些问题来源于标准的并发教材,涵盖了常见的并发编程模式和挑战。变异体集则由72个经过验证的变异体组成,这些变异体通过对基础问题进行微小的修改,增加了测试集的语言和结构多样性。整个基准测试集共包含115个问题。

关键创新:CONCUR最重要的技术创新点在于其专门针对并发代码生成而设计。与现有的代码生成基准测试相比,CONCUR更加关注并发代码的特性,能够更准确地评估LLMs在并发场景下的代码生成能力。此外,CONCUR还引入了变异体集,增加了测试集的鲁棒性和覆盖范围。

关键设计:CONCUR的关键设计在于问题的选择和变异体的生成。基础问题的选择参考了标准的并发教材,确保了问题的代表性和难度。变异体的生成则采用了多种策略,包括修改变量名、改变语句顺序、引入新的并发操作等,以增加测试集的语言和结构多样性。具体参数设置和损失函数等技术细节未在论文中详细描述,属于未知信息。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

论文通过在CONCUR上评估一系列LLMs,揭示了当前模型在并发代码生成方面的局限性。具体性能数据未在摘要中给出,但强调了CONCUR能够有效区分不同LLMs在并发代码生成方面的能力,并为未来的研究提供了评估和改进的方向。

🎯 应用场景

CONCUR基准测试可用于评估和改进LLMs在并发软件开发领域的应用。通过使用CONCUR,开发者可以更好地了解LLMs在生成并发代码方面的能力,并针对性地进行优化。这有助于提高并发软件的开发效率和质量,减少并发bug的出现,从而提升软件系统的可靠性和性能。

📄 摘要(原文)

Leveraging Large Language Models (LLMs) for code generation has increasingly emerged as a common practice in the domain of software engineering. Relevant benchmarks have been established to evaluate the code generation capabilities of LLMs. However, existing benchmarks focus primarily on sequential code, lacking the ability to effectively evaluate LLMs on concurrent code generation. Compared to sequential code, concurrent code exhibits greater complexity and possesses unique types of bugs, such as deadlocks and race conditions, that do not occur in sequential code. Therefore, a benchmark for evaluating sequential code generation cannot be useful for evaluating concurrent code generation with LLMs. To address this gap, we designed a benchmark CONCUR specifically aimed at evaluating the capability of LLMs to generate concurrent code. CONCUR consists of a base set of 43 concurrency problems derived from a standard concurrency textbook, together with 72 validated mutant variants, resulting in 115 total problems. The base problems serve as the semantic core of the benchmark, while the mutants expand linguistic and structural diversity. We conducted an evaluation of a range of LLMs on CONCUR, highlighting limitations of current models. Overall, our work provides a novel direction for evaluating the capability of LLMs to generate code with focus on concurrency.