five

DevBench

收藏
arXiv2024-03-15 更新2024-06-21 收录
下载链接:
https://github.com/open-compass/DevBench
下载链接
链接失效反馈
官方服务:
资源简介:
DevBench数据集由上海人工智能实验室开发,旨在评估大型语言模型在软件开发中的应用能力。数据集包含22个高质量的仓库,覆盖Python、C/C++、Java和JavaScript等语言,涉及机器学习、网络服务等多个应用领域。每个仓库都经过精心设计,以确保评估的全面性和准确性,包括软件设计文档、环境配置文件、实现代码以及验收和单元测试用例。DevBench不仅测试模型的代码生成能力,还评估其在复杂软件开发任务中的表现,如理解复杂的仓库结构、管理编译过程和掌握高级编程概念。

DevBench is developed by Shanghai AI Laboratory, aiming to evaluate the capabilities of large language models (LLMs) in software development. The dataset consists of 22 high-quality code repositories, covering programming languages including Python, C/C++, Java, JavaScript and others, spanning multiple application domains such as machine learning and web services. Each repository is meticulously designed to ensure the comprehensiveness and accuracy of the evaluation, including software design documents, environment configuration files, implementation code, as well as acceptance and unit test cases. DevBench not only tests the code generation capability of models, but also evaluates their performance in complex software development tasks, such as comprehending intricate repository structures, managing compilation processes, and mastering advanced programming concepts.
提供机构:
上海人工智能实验室
创建时间:
2024-03-13
搜集汇总
数据集介绍
main_image_url
构建方式
在软件工程领域,全面评估大型语言模型(LLM)的编码能力已成为研究热点。DevBench的构建过程遵循严谨的三阶段流程:首先从GitHub数据集中筛选出结构良好、代码质量高的候选仓库,确保其复杂度在当前LLM评估范围内可控;随后由专业标注人员对代码进行清理与验证,包括环境配置、功能测试以及补充单元测试与验收测试,以达到测试覆盖率和正确性标准;最后为每个仓库创建标准化的软件设计文档,包括统一建模语言(UML)类图与序列图以及架构设计,确保设计文档与代码实现严格对应。
特点
DevBench作为综合性基准测试,其核心特点体现在多维度评估框架上。该数据集覆盖软件开发生命周期的五个关键阶段:软件设计、环境配置、代码实现、验收测试与单元测试,模拟了从产品需求文档到完整代码库的真实开发流程。数据集涵盖Python、C/C++、Java与JavaScript四种主流编程语言,涉及机器学习、Web服务、算法实现等多个领域,共计22个精选仓库。每个任务均配有精心设计的评估指标,如通过率、Oracle测试准确率与代码覆盖率,确保了评估的全面性与科学性。
使用方法
使用DevBench进行评估时,研究者可遵循其模块化任务设计。每个任务均提供参考输入,例如软件设计任务接收产品需求文档,输出UML图表与架构设计;环境配置任务基于设计文档生成依赖文件;代码实现任务则要求生成符合架构的多文件代码库。评估过程依托自动化测试框架,如PyTest、GTest、JUnit与Jest,执行参考测试并计算通过率。对于开放式的软件设计任务,可采用LLM-as-a-Judge方法进行自动评估。数据集支持端到端评估或分阶段评估,并可配置为Copilot模式,允许人工干预以优化模型输出。
背景与挑战
背景概述
随着大语言模型在代码生成领域的迅猛发展,现有基准测试多聚焦于编程的简化或孤立环节,如单文件代码生成或仓库问题调试,难以全面衡量真实世界软件开发活动的复杂挑战。为此,上海人工智能实验室等机构的研究团队于2024年提出了DevBench,一个全面评估大语言模型在软件开发生命周期各阶段能力的基准测试。该数据集覆盖软件设计、环境配置、实现、验收测试与单元测试等多个关键环节,并囊括Python、C/C++、Java与JavaScript四种编程语言及多样化的应用领域。DevBench的构建旨在填补现有评估体系在多层次、多阶段任务集成方面的空白,为推进大语言模型在真实编程场景中的应用提供了重要的实证基础。
当前挑战
DevBench所应对的核心领域挑战在于全面评估大语言模型在复杂、多阶段的软件开发任务中的综合能力,包括从产品需求文档出发的完整代码库构建。这一过程涉及对仓库级代码结构的深入理解、多文件依赖关系的精确管理以及高级编程概念的准确应用。在数据集构建过程中,研究团队面临的主要挑战包括高质量数据的采集与整理,因为开源仓库数据往往缺乏关键的设计文档与测试程序;同时,确保数据覆盖多种编程语言与领域,并设计严谨、可验证的评估指标,以客观反映模型在真实开发环境中的实际表现,也是构建过程中的重要难点。
常用场景
经典使用场景
在大型语言模型(LLM)编码能力评估领域,DevBench作为综合性基准测试,其经典使用场景聚焦于模拟真实世界软件开发生命周期的多阶段任务评估。该数据集通过精心设计的五个核心任务——软件设计、环境配置、代码实现、验收测试与单元测试,系统性地考察模型从产品需求文档出发,构建完整多文件代码库的全流程能力。研究者通常利用DevBench对GPT-4-Turbo、CodeLlama等前沿模型进行横向对比,深入剖析其在处理复杂仓库结构、管理编译过程、理解高级编程概念等方面的表现,从而揭示模型在自动化软件生产中的实际局限与潜力。
实际应用
在实际应用层面,DevBench为开发更可靠的AI编程助手提供了关键评估工具。例如,在集成开发环境(IDE)插件或自动化代码生成平台的研发中,可利用DevBench测试模型在真实项目环境下处理多语言(Python、Java、C/C++、JavaScript)、多领域(机器学习、Web服务、算法工具)任务的能力。其评估结果能指导工程团队优化模型提示策略、引入执行反馈机制,或针对模型在生成Makefile、Gradle配置、管理函数参数、运用面向对象高级特性等方面的薄弱环节进行专项增强。此外,该基准有助于企业在部署AI辅助编程系统前,对其在完整软件交付流程中的可靠性进行前置验证,降低生产环境风险。
衍生相关工作
DevBench的提出衍生并衔接了多项经典研究工作。它直接建立在SWE-bench、RepoBench等仓库级代码评估基准的基础上,并将评估范围扩展至软件开发生命周期的更早阶段。其任务设计与MetaGPT、ChatDev等多智能体编程框架形成对照与互补,后者侧重于通过角色扮演框架从简短需求生成代码,而DevBench则强调在详细产品需求文档约束下的严谨评估。数据集构建中采用的LLM-as-a-Judge评估方法借鉴了相关研究,用于对开放式的软件设计任务进行自动化评分。同时,其实验分析中揭示的模型在编译文件生成、高级编程概念理解等方面的障碍,为后续研究如InterCode(交互式编码环境)、以及针对代码规划、依赖管理、测试生成等子任务的模型改进工作提供了明确的问题定义与评估基线。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作