five

RustEvo2

收藏
arXiv2025-03-21 更新2025-03-25 收录
下载链接:
https://github.com/SYSUSELab/RustEvo
下载链接
链接失效反馈
官方服务:
资源简介:
RustEvo2数据集是由中山大学等多个机构的研究人员构建的,旨在评估大型语言模型(LLM)在Rust编程语言API快速演变环境下的代码生成能力。该数据集包含了588个API变化,涵盖了Rust标准库和第三方包的变更。这些变化被分类为稳定化、签名变更、行为变更和弃用等类别,以反映Rust生态系统中API变化的实际分布。RustEvo2通过自动化合成编程任务来模拟真实世界中的挑战,评估LLM适应Rust API演变的能力。

The RustEvo2 dataset was constructed by researchers from Sun Yat-sen University and multiple other institutions, aiming to evaluate the code generation capabilities of large language models (LLMs) in the context of rapid evolution of Rust programming language APIs. This dataset contains 588 API changes, covering modifications to both Rust's standard library and third-party crates. These changes are categorized into stabilization, signature change, behavioral change, deprecation and other categories to reflect the actual distribution of API changes in the Rust ecosystem. RustEvo2 simulates real-world challenges by automatically synthesizing programming tasks to assess the ability of LLMs to adapt to the evolution of Rust APIs.
提供机构:
中山大学
创建时间:
2025-03-21
原始信息汇总

RustEvo² 数据集概述

数据集背景

  • 数据集来源于论文《RustEvo²: An Evolving Benchmark for API Evolution in LLM-based Rust Code Generation》
  • 主要研究LLM-based Rust代码生成中的API演化问题

数据集构成

数据收集阶段

  • 数据来源:官方Rust仓库和第三方crates
  • 分析内容:变更日志、文档和实现变更
  • API变更分类:
    • Stabilizations(稳定化)
    • Signature Changes(签名变更)
    • Behavioral Changes(行为变更)
    • Deprecations(弃用)

数据集构建阶段

  • 通过LLM-based生成流程将API演化数据转化为自然编程任务
  • 包含编程查询、代码解决方案和测试程序

数据集详情

  • 总API变更数量:588个
    • Rust标准库:380个
    • 第三方crates:208个(来自15个crates)
  • 版本覆盖范围:1.71.0至1.84.0
  • 变更类型分布:
    • Stabilizations:31.3%
    • Signature Changes:31.5%
    • Behavioral Changes:33.2%
    • Deprecations:4.1%

任务结构

每个任务包含:

  • API变更信息(名称、模块路径、版本详情、文档、源代码)
  • 编程查询(描述实际场景)
  • 函数签名(指导实现)
  • 参考解决方案
  • 测试程序

评估结果

模型性能

模型 Pass@1 (%) API使用准确率 (%) 覆盖率 (%)
Claude-3.7-Sonnet 65.3 78.2 83.6
o1-mini 57.5 70.4 85.2
GPT-4o 55.4 68.4 77.2
Gemini-1.5-Pro 55.3 62.6 60.9
DeepSeek-v3 54.8 69.7 71.0
Gemini-2.0-Flash 52.6 73.5 72.5
Llama-3.1-70B 51.0 65.3 69.0
Qwen-2.5-72B 50.9 66.7 64.7
Claude-3.5-Sonnet 48.1 68.7 80.3
Grok-3 40.5 67.2 70.4

按变更类型性能

变更类型 平均Pass@1 (%)
Stabilizations 65.8
Signature Changes 58.2
Behavioral Changes 38.0
Deprecations 40.4
搜集汇总
数据集介绍
main_image_url
构建方式
RustEvo2数据集的构建采用了两阶段自动化框架EvoEval。第一阶段通过多源数据采集系统性地收集Rust标准库及15个第三方crate的API变更,包括官方变更日志分析、文档差异比较和代码实现变更追踪。第二阶段利用大语言模型将588个API变更(380个来自标准库,208个来自第三方crate)转化为编程任务,涵盖稳定化、签名变更、行为变更和弃用四大类别。该过程通过精心设计的提示模板指导LLM生成包含自然语言描述、参考解决方案和可执行测试程序的三元组任务,并经过编译测试和质量控制筛选,最终保留通过验证的85.7%任务样本。
特点
该数据集具有三个显著特征:首先,其任务分布精确反映了Rust生态中API变更的实际比例(稳定化31.3%、签名变更31.5%、行为变更33.2%、弃用4.1%),具有高度生态代表性。其次,每个任务包含平均4.38个测试用例,形成总计2,574个测试案例的验证体系,可精准检测新旧API使用的细微差异。最后,数据集采用动态更新机制,其框架设计支持持续纳入新版本API变更,克服了传统静态基准随着Rust六周迭代周期快速过时的问题。
使用方法
使用该数据集时,研究者可通过两种主要途径进行评估:直接测试模式下,将编程任务输入待测模型并执行测试程序验证生成代码的正确性;检索增强模式下,可结合API变更文档构建RAG系统,评估模型在知识截止日期后的API适应能力。实验表明,模型在提供API信息时平均通过率提升至57.7%,而RAG策略可使后续API任务的解决率提高13.5%。数据集配套的版本控制工具链支持精确指定Rust版本环境,确保实验可复现性。
背景与挑战
背景概述
RustEvo2是由中山大学与南洋理工大学等机构的研究团队于2025年提出的动态基准测试数据集,旨在评估基于大语言模型(LLM)的代码生成系统对Rust语言API演化的适应能力。作为首个针对快速演进语言API兼容性问题的专项评测工具,该数据集通过自动化流程整合了588个来自Rust标准库(380个)及第三方crate(208个)的API变更案例,覆盖稳定化(Stabilizations)、签名变更(Signature Changes)、行为变更(Behavioral Changes)和弃用(Deprecations)四类演化模式。其创新性地采用两阶段构建框架EvoEval,将真实API变更转化为隐含版本要求的编程任务,解决了传统静态基准在快速迭代语言环境中时效性不足的痛点,为衡量LLM在动态软件生态中的代码生成质量提供了标准化评估体系。
当前挑战
该数据集主要应对两大核心挑战:在领域问题层面,针对Rust语言每六周发布新版本的快速迭代特性,解决LLM生成代码时存在的版本意识缺失问题——实验显示主流模型对行为变更类API的生成成功率(38.0%)显著低于稳定化API(65.8%),且模型知识截止日期导致对新API的适应能力下降23.6%。在构建过程中,研究团队需克服多版本API变更的自动化采集与分类难题,特别是行为变更这类无签名改动的隐性演化;同时通过LLM辅助的编程任务生成需平衡语义真实性与版本特异性,最终85.7%的生成任务通过编译测试验证,确保了数据集的可靠性与实用性。
常用场景
经典使用场景
RustEvo2数据集在评估基于大型语言模型(LLM)的Rust代码生成能力方面具有重要价值。该数据集通过模拟Rust API的快速演变场景,为研究者提供了一个动态的基准测试平台。在Rust生态系统中,API的频繁变更(如稳定化、签名变更、行为变更和弃用)对代码生成模型提出了严峻挑战。RustEvo2通过自动化构建588个API变更任务,覆盖了标准库和第三方crate,为研究者提供了评估模型版本感知能力的标准化工具。
实际应用
在实际开发场景中,RustEvo2可直接应用于持续集成/持续部署(CI/CD)流程的质量控制。开发团队可利用该数据集测试其代码生成工具对最新Rust特性的支持程度,特别是在处理加密应用、内存管理等关键领域时。例如,数据集包含的slice::first_chunk_mut方法任务,能有效验证工具是否采用符合Rust 1.77.0安全规范的最佳实践,避免生成包含不安全指针的传统代码。
衍生相关工作
该数据集已衍生出多个重要研究方向:检索增强生成(RAG)技术在API演变场景的应用研究表明,结合版本文档可使模型性能提升13.5%;基于时间切片的模型评估框架能动态跟踪LLM对新API的适应速度;此外,数据集构建方法已被扩展至Python、Java等语言,形成跨语言的API演变评估体系。相关成果发表在ICSE、FSE等顶级会议,推动了版本感知代码生成领域的方法创新。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作