RepoExec
收藏Hugging Face2024-06-20 更新2024-12-12 收录
下载链接:
https://huggingface.co/datasets/Fsoft-AIC/RepoExec
下载链接
链接失效反馈官方服务:
资源简介:
RepoExec是一个新颖的基准测试,旨在评估代码生成在仓库级别上的可执行性和正确性。该基准测试强调现实世界的适用性,并提供代码功能的全面评估。它旨在为代码功能和与开发者意图的一致性提供全面的评估,为现实场景中更可靠和适用的CodeLLMs铺平道路。
创建时间:
2024-06-18
原始信息汇总
数据集概述
基本信息
- 语言: Python
- 许可证: MIT
- 任务类别: 文本生成
- 数据集名称: RepoExec
数据集结构
特征字段
- id: 数据实例的唯一标识符,数据类型为
int64。 - project: 项目名称,数据类型为
string。 - module: 模块名称,数据类型为
string。 - entry_point: 入口点名称,数据类型为
string。 - solution: 解决方案代码,数据类型为
string。 - target_function_prompt: 目标函数提示,数据类型为
string。 - function_signature: 函数签名,数据类型为
string。 - docstring: 文档字符串,数据类型为
string。 - original_docstring: 原始文档字符串,数据类型为
string。 - docstring_tokens: 文档字符串的标记序列,数据类型为
string。 - cross_context: 是否包含跨文件上下文,数据类型为
bool。 - isContained: 是否包含在其他上下文中,数据类型为
bool。 - raw_solution: 原始解决方案代码,数据类型为
string。 - check: 检查代码,数据类型为
string。 - test_list: 测试列表,数据类型为
string序列。 - coverage: 代码覆盖率,数据类型为
float64。 - prompt: 提示信息,数据类型为
string。
数据分割
- full_context: 完整上下文,包含 17679411 字节,355 个实例。
- medium_context: 中等上下文,包含 17467754 字节,355 个实例。
- small_context: 小上下文,包含 17344466 字节,355 个实例。
数据集大小
- 下载大小: 12471129 字节
- 数据集大小: 52491631 字节
配置
- 默认配置:
- full_context: 数据文件路径为
data/full_context-* - medium_context: 数据文件路径为
data/medium_context-* - small_context: 数据文件路径为
data/small_context-*
- full_context: 数据文件路径为
数据集描述
RepoExec 是一个用于评估代码生成的新型基准,重点在于可执行性和正确性。该基准强调现实世界的适用性,并提供对代码功能的全面评估,旨在为现实场景中更可靠和适用的 CodeLLMs 铺平道路。
搜集汇总
数据集介绍

构建方式
RepoExec数据集的构建旨在填补现有代码生成评估系统的空白,特别关注代码的可执行性和正确性。该数据集通过从真实世界的Python代码库中提取代码片段,并结合跨文件依赖的上下文信息,构建了一个包含355个数据实例的基准测试集。每个实例包括项目名称、模块、入口点、解决方案、目标函数提示、函数签名、文档字符串等详细信息,确保数据集的多样性和实用性。
使用方法
RepoExec数据集主要用于评估代码生成模型在仓库级别的表现,特别是代码的可执行性和正确性。用户可以通过加载数据集的不同上下文版本,结合提供的测试用例和跨文件依赖信息,对模型生成的代码进行全面的评估。具体使用方法包括加载数据集、解析数据实例、运行测试用例以验证代码的正确性,并根据评估结果调整模型参数或改进生成策略。
背景与挑战
背景概述
RepoExec数据集由FSoft-AI4Code团队于2024年发布,旨在填补代码生成领域在仓库级别评估上的空白。该数据集的核心研究问题在于如何通过可执行性和正确性来评估代码生成模型的实际应用能力。RepoExec通过提供包含跨文件依赖关系的代码库级别测试用例,强调代码生成模型在真实场景中的功能性和开发者意图的匹配度。这一数据集的出现,为代码生成模型的评估提供了更为全面和实用的基准,推动了代码生成技术在工业界的应用。
当前挑战
RepoExec数据集在解决代码生成领域的挑战时,面临多重困难。首先,代码生成模型需要在复杂的跨文件依赖环境中生成可执行的代码,这对模型的上下文理解能力提出了极高的要求。其次,数据集的构建过程中,如何确保测试用例的覆盖率和正确性是一个关键问题,尤其是在处理大规模代码库时,测试用例的生成和验证需要耗费大量资源。此外,数据集的设计还需考虑如何平衡代码的复杂性与可执行性,以确保评估结果的可靠性和实用性。这些挑战共同构成了RepoExec数据集在推动代码生成技术发展中的核心难题。
常用场景
经典使用场景
RepoExec数据集主要用于评估代码生成模型在仓库级别的可执行性和正确性。通过提供包含跨文件依赖关系的代码片段,该数据集能够模拟真实开发环境中的复杂场景,帮助研究者测试模型在处理多文件项目时的表现。其经典使用场景包括代码生成模型的训练与评估,特别是在需要生成可执行代码的任务中,如自动化代码补全、代码修复和代码重构等。
解决学术问题
RepoExec数据集解决了现有代码生成评估基准在真实世界适用性方面的不足。传统基准往往局限于单文件或简单代码片段,难以全面评估模型在复杂项目中的表现。RepoExec通过引入跨文件依赖关系和可执行性测试,填补了这一空白,使得研究者能够更全面地评估代码生成模型的功能性和开发者意图的匹配度,从而推动更可靠、实用的代码生成模型的发展。
实际应用
在实际应用中,RepoExec数据集为开发者和企业提供了强大的工具,用于评估和改进代码生成系统的性能。例如,在自动化代码生成工具中,该数据集可以帮助验证生成的代码是否能够在真实项目中正确执行,减少调试和维护成本。此外,它还可用于教育领域,帮助学生和开发者理解跨文件代码依赖关系,提升代码编写和调试能力。
数据集最近研究
最新研究方向
RepoExec数据集作为代码生成领域的前沿基准,近年来在提升代码生成模型的实用性和正确性方面发挥了重要作用。该数据集通过强调代码的可执行性和跨文件依赖的上下文使用,填补了现有评估系统的空白。研究者们正致力于利用RepoExec来优化代码生成模型在真实项目中的表现,特别是在处理复杂代码库时,如何更好地捕捉开发者的意图并生成功能正确的代码。此外,RepoExec还为评估模型在处理多文件依赖和复杂上下文时的表现提供了新的视角,推动了代码生成技术在实际开发环境中的应用。
以上内容由遇见数据集搜集并总结生成



