five

OSS-BENCH

收藏
arXiv2025-05-18 更新2025-05-21 收录
下载链接:
https://github.com/oss-bench/
下载链接
链接失效反馈
官方服务:
资源简介:
OSS-BENCH是一个自动基准生成器,用于从真实世界的开源软件中自动构建大规模、实时评估任务。它通过将LLM生成的代码替换函数并使用三个自然指标(可编译性、功能性正确性和内存安全性)来评估它们。OSS-BENCH使用编译失败、测试套件违规和清理程序警报作为真实值,避免了过度拟合的问题,并突出了LLMs对低级代码安全的有限理解。OSS-BENCH为评估LLMs的实时编码能力提供了一个实用且可扩展的框架。

OSS-BENCH is an automated benchmark generator that automatically constructs large-scale, real-time evaluation tasks from real-world open-source software. It evaluates the code by replacing functions with LLM-generated code, and utilizes three natural metrics: compilability, functional correctness, and memory safety. OSS-BENCH adopts compilation failures, test suite violations, and sanitizer alerts as ground truths, which avoids overfitting issues and highlights the limited understanding of low-level code security by LLMs. It provides a practical and scalable framework for evaluating the real-time coding capabilities of large language models.
提供机构:
新加坡国立大学计算机学院
创建时间:
2025-05-18
搜集汇总
数据集介绍
main_image_url
构建方式
OSS-BENCH通过自动化流程从真实世界的开源软件中提取函数级代码片段,并利用大型语言模型(LLM)生成优化版本。具体步骤包括:选择符合条件的开源项目,提取函数片段,生成优化代码,并通过编译、功能测试和内存安全性检查三个核心指标进行评估。整个过程无需人工干预,确保了数据集的动态更新和可扩展性。
使用方法
使用OSS-BENCH时,研究人员首先选择一个开源项目,提取函数片段并生成优化代码。随后,通过编译检查、功能测试和内存安全性评估三个步骤对生成的代码进行评分。数据集支持多种编程语言和项目类型,用户可以根据需要调整采样率、提示模板和指标权重。评估结果可用于比较不同LLM在真实世界编码任务中的表现,特别是在安全性和功能正确性方面的能力。
背景与挑战
背景概述
OSS-BENCH是由新加坡国立大学计算机学院的Yuancheng Jiang、Roland H. C. Yap和Zhenkai Liang于2025年提出的一个面向代码生成大语言模型(LLM)的基准测试生成器。随着AI编程助手(如GitHub Copilot)的快速普及,对生成代码质量的评估需求日益迫切。传统的基准测试往往依赖静态数据集,需要大量人工参与,或忽视关键的低级安全问题(如内存安全性)。OSS-BENCH通过自动从真实开源软件(OSS)中构建大规模、动态更新的评估任务,解决了这些问题。其核心研究问题是如何在无需人工干预的情况下,利用编译性、功能正确性和内存安全性三个自然指标,全面评估LLM生成的代码质量。该数据集的影响力在于其能够动态适应开源软件的演化,避免了模型过拟合静态数据集的问题,并为评估LLM在真实编程任务中的表现提供了更可靠的框架。
当前挑战
OSS-BENCH面临的挑战主要包括两个方面:领域问题的挑战和构建过程中的挑战。在领域问题方面,现有的代码生成评估基准往往无法全面覆盖编译性、功能正确性和内存安全性,尤其是后者在现有基准中常被忽视。此外,静态数据集容易导致模型过拟合,而间接或简单的编程任务无法充分挑战不断进化的LLM。在构建过程中,OSS-BENCH需要解决如何自动从复杂开源项目中提取函数级代码片段、如何设计合理的评估指标以覆盖不同维度的代码质量,以及如何确保评估过程的自动化和可扩展性。具体挑战包括:(1)处理大规模代码库的复杂性;(2)确保测试套件的全面性;(3)在编译语言中实现可靠的内存安全性检测;(4)避免模型通过保守编辑(如几乎不修改原代码)来获得高分;(5)设计合理的评分机制以平衡不同指标的重要性。
常用场景
经典使用场景
OSS-BENCH作为一款专为评估编码大语言模型(LLM)设计的基准生成器,其经典使用场景主要集中在自动化构建大规模、动态的代码质量评估任务上。通过从真实世界的开源软件(如PHP解释器和SQLite3数据库引擎)中提取函数级代码片段,OSS-BENCH能够模拟开发者常见的代码优化场景,例如提升内存安全性和代码效率。该数据集通过编译性、功能测试和内存安全性三大核心指标,系统性地评估LLM生成的代码在实际项目中的集成能力,尤其擅长揭示模型在复杂代码库环境下的低层安全缺陷。
解决学术问题
OSS-BENCH有效解决了现有基准测试中人工标注成本高、任务静态化导致的过拟合问题,以及安全评估维度缺失等学术挑战。通过利用开源项目的自然演化特性,该数据集实现了无需人工干预的自动化评估流程,并首次将内存安全漏洞(如缓冲区溢出)纳入LLM代码生成的量化指标。其创新性的动态任务生成机制,为研究社区提供了衡量模型在真实开发场景中泛化能力的标尺,尤其推动了代码安全性和工程适用性方向的学术探索。
实际应用
在实际应用中,OSS-BENCH被广泛应用于AI编程助手的性能评测与产品迭代。科技公司可通过该基准对比不同LLM在企业级代码库中的表现,例如检测Copilot等工具生成的代码是否引入编译错误或安全风险。开源社区则利用其持续更新的特性监控模型随代码库演进的适应性,而教育机构将其作为教学工具,演示安全编码规范与自动化测试的实践方法。在SQLite和PHP等主流项目的持续集成流程中,OSS-BENCH的测试框架已被用于预防性检测AI生成代码的回归问题。
数据集最近研究
最新研究方向
随着AI编程助手在软件开发中的广泛应用,评估生成代码质量的需求日益迫切。OSS-BENCH作为一款创新的基准测试生成器,通过从真实开源软件中自动构建大规模动态评估任务,为编码大语言模型(LLMs)的评估提供了新范式。该数据集聚焦于三个核心指标:可编译性、功能正确性和内存安全性,利用编译失败、测试套件违规和消毒器警报等强信号作为真实基准。近期研究显示,OSS-BENCH在揭示LLMs行为模式方面展现出独特优势,例如发现模型规模与性能之间的不一致性,以及过度记忆导致的负面输出效应。通过扩展模糊测试实验,该数据集进一步凸显了LLMs在底层代码安全理解方面的局限性。作为首个支持持续更新的动态基准,OSS-BENCH有效缓解了传统静态数据集容易过拟合的问题,为评估LLMs在实际开发环境中的编码能力提供了可扩展框架。其基于PHP解释器和SQLite3引擎构建的实例化版本(OSS-BENCHphp和OSS-BENCHsql)已对17种主流LLMs进行了全面剖析,相关发现对提升AI编程助手的可靠性具有重要指导意义。
相关研究论文
  • 1
    OSS-Bench: Benchmark Generator for Coding LLMs新加坡国立大学计算机学院 · 2025年
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作