DependEval
收藏arXiv2025-03-10 更新2025-03-12 收录
下载链接:
https://github.com/ink7sudo/DependEval
下载链接
链接失效反馈官方服务:
资源简介:
DependEval是一个多语言基准测试,包含8种编程语言(C、C++、C#、TypeScript、JavaScript、Java、PHP、Python),旨在评估大型语言模型在三个层次上的代码仓库理解能力:依赖识别、代码仓库构建和跨文件编辑。该数据集基于从实际网站收集的15,576个代码仓库,涵盖了8种编程语言的实际代码库。
DependEval is a multilingual benchmark encompassing 8 programming languages: C, C++, C#, TypeScript, JavaScript, Java, PHP, and Python. It is designed to evaluate the code repository understanding capabilities of large language models at three hierarchical levels: dependency identification, code repository construction, and cross-file editing. This dataset is built upon 15,576 code repositories collected from real-world websites, covering practical code bases across the 8 supported programming languages.
提供机构:
南洋理工大学, 清华大学, 北京航空航天大学, 上海科技大学, 香港大学
创建时间:
2025-03-10
搜集汇总
数据集介绍

构建方式
DependEval数据集的构建基于从真实世界网站收集的15,576个代码仓库。数据集涵盖了8种编程语言,包括C、C++、C#、TypeScript、JavaScript、Java、PHP和Python。数据收集过程首先使用GitHub官方API抓取代码仓库及其README文件,然后应用一系列过滤规则来去除低质量代码和重复项,最终保留了15,576个高质量的仓库和README文件。在数据准备阶段,DependEval将相互依赖的代码文件根据它们的依赖关系连接成代码片段。此外,数据集还包含三个设计任务:依赖识别、仓库构建和多文件编辑,每个任务都有相应的测试样例和评估指标。
特点
DependEval数据集的主要特点包括:1. 多语言支持:覆盖了8种编程语言,为评估LLMs在不同编程环境下的能力提供了全面的数据。2. 分层评估:包含三个逐步增加难度的任务,即依赖识别、仓库构建和多文件编辑,可以全面评估LLMs在代码仓库层面的理解能力。3. 细粒度指标:提供了详细的指标,可以分析LLMs在静态分析、架构推理和跨文件一致性方面的性能。4. 实际应用场景:数据来源于真实世界的代码仓库,确保了数据集的实际应用价值。
使用方法
DependEval数据集的使用方法如下:1. 数据下载:可以从数据集提供的GitHub链接下载测试样例和脚本。2. 数据准备:根据数据集的文档说明,准备测试环境和数据。3. 模型评估:使用数据集中的测试样例对LLMs进行评估,记录模型在三个任务上的性能指标。4. 结果分析:根据评估结果,分析LLMs在代码仓库层面的理解能力,包括依赖识别、仓库构建和多文件编辑等方面的表现。5. 模型改进:根据分析结果,对LLMs进行改进,以提高其在代码仓库层面的理解能力。
背景与挑战
背景概述
DependEval是一个用于评估大型语言模型(LLMs)在理解代码仓库依赖关系方面的能力的基准。该数据集由杜俊嘉、刘雅迪、郭宏城等研究人员于2025年3月创建,主要研究人员来自南洋理工大学、清华大学、北京航空航天大学等机构。该数据集旨在解决大型语言模型在处理复杂代码仓库时面临的挑战,包括理解依赖关系、项目结构和多文件更改等。DependEval数据集收集了来自真实世界网站的15,576个代码仓库,涵盖8种编程语言,并评估模型在三个核心任务上的表现:依赖关系识别、仓库构建和多文件编辑。该数据集的创建对相关领域产生了重要影响,为大型语言模型在软件工程中的应用提供了宝贵的见解。
当前挑战
DependEval数据集面临的挑战包括:1)解决领域问题:该数据集旨在解决大型语言模型在理解代码仓库依赖关系方面的挑战,包括依赖关系识别、仓库构建和多文件编辑等。2)构建过程中的挑战:在构建DependEval数据集的过程中,研究人员面临着如何收集和筛选高质量的代码仓库、如何设计评估任务和指标等问题。此外,数据集的规模和多样性也对其构建和评估带来了挑战。
常用场景
经典使用场景
DependEval数据集主要用于评估大型语言模型(LLMs)在理解代码仓库依赖性方面的能力。该数据集包含了来自现实世界网站的15,576个代码仓库,涵盖了8种编程语言。它通过三个核心任务来评估模型:依赖识别、仓库构建和多文件编辑。这些任务能够全面测试LLMs在处理复杂代码仓库时的推理能力。
实际应用
DependEval数据集的实际应用场景包括代码生成、代码补全、调试、重构和性能优化等。通过对LLMs在依赖识别、仓库构建和多文件编辑等方面的评估,DependEval可以帮助开发人员选择适合特定任务的LLMs,并改进LLMs在处理大型代码仓库时的性能。此外,DependEval还可以用于指导LLMs的训练,使其更好地理解和处理复杂的代码仓库。
衍生相关工作
DependEval数据集的引入促进了LLMs在软件工程领域的研究和应用。该数据集的发布引发了大量相关研究,包括改进LLMs在依赖识别、仓库构建和多文件编辑等方面的性能,以及开发新的基准测试来评估LLMs在处理大型代码仓库时的能力。这些研究为LLMs在软件工程领域的应用提供了重要的参考和指导,并推动了LLMs在处理复杂代码仓库方面的研究进展。
以上内容由遇见数据集搜集并总结生成



