five

ClassEval-T

收藏
github2024-11-09 更新2024-11-12 收录
下载链接:
https://github.com/Pengyu03/ClassEval-T-Code-Translation-Evaluation-Dataset
下载链接
链接失效反馈
官方服务:
资源简介:
ClassEval-T是一个开源数据集,专门设计用于评估大型语言模型(LLMs)在代码翻译任务中的性能。该数据集包含94个真实世界的编程任务,涵盖学生注册系统、面积计算器、五子棋游戏等场景。每个任务平均包含66.7行代码和199.5个令牌,并附有33.8个测试用例。数据集提供Java、Python和C++三种编程语言的实现和测试套件,支持多语言代码翻译任务的研究和评估。

ClassEval-T is an open-source dataset specifically developed for evaluating the performance of Large Language Models (LLMs) in code translation tasks. This dataset consists of 94 real-world programming tasks covering scenarios such as student enrollment systems, area calculators, Gomoku games, and others. Each task contains an average of 66.7 lines of code and 199.5 Tokens, and is paired with 33.8 test cases. The dataset provides implementations and test suites across three programming languages: Java, Python, and C++, to support research and evaluation on multilingual code translation tasks.
创建时间:
2024-11-08
原始信息汇总

ClassEval-T: Code Translation Evaluation Dataset

简介

ClassEval-T是一个专门设计用于评估大型语言模型(LLMs)在代码翻译任务中性能的开源数据集。该数据集由Du等人设计,包含94个真实世界的编程任务,涵盖学生注册系统、面积计算器、五子棋游戏等场景。每个任务平均包含66.7行代码199.5个token,并附有33.8个测试用例,以确保全面的验证。

数据集

ClassEval-T数据集包含Java、Python和C++三种编程语言的代码和相应的测试套件,分别组织在单独的文件夹中:

  • Java数据集:包含所有任务的Java实现和测试用例。
  • Python数据集:包含所有任务的Python实现和测试用例。
  • C++数据集:包含所有任务的C++实现和测试用例。

每个语言文件夹包含源代码文件和测试用例,提供丰富的多语言资源用于代码翻译任务。

开源代码

该项目包括调用DeepSeek、NVIDIA和Baidu Qianfan模型的脚本,可直接用于在ClassEval-T任务上执行类级别的代码翻译。每个文件包含特定模型的相关提示,便于研究人员使用:

  • DeepSeek调用脚本deepseek_invoke.py文件包含调用DeepSeek模型的脚本。
  • NVIDIA调用脚本nvidia_invoke.py文件提供调用NVIDIA LLM的脚本。
  • Baidu Qianfan调用脚本baidu_qianfan_invoke.py文件包含调用Baidu Qianfan模型的脚本。

环境要求

  1. 解决方案代码:包含待测试的代码。
  2. 测试代码:包含每个任务的测试用例。
  3. 开发环境:推荐使用Visual Studio。

研究问题(RQs)

RQ1(整体正确性):近期LLMs在类级别代码翻译中的表现如何?

该研究问题调查类级别代码翻译在多种语言(Java、Python、C++)中的整体正确性,并提供每种语言的详细测试脚本。

RQ2(翻译策略):不同的翻译策略如何影响近期LLMs的性能?

由于最小依赖翻译和独立翻译策略生成的代码以块而非完整脚本形式存在,需在运行自动化测试前进行预处理。每种编程语言(Java、Python、C++)都有其特定的预处理文件。

RQ4(失败案例分析):LLMs会犯哪些类型的错误,频率如何?

为解决RQ4,提供了一个手动评估工具,允许用户检查翻译代码的准确性,帮助研究人员识别LLM代码翻译中的常见错误类型。

入门指南

  1. 克隆仓库并设置环境。
  2. 数据准备:确保ClassEval-T数据集可用并准备好进行LLM调用。
  3. 运行实验
    • 对于RQ1,参考每种语言文件夹中的README文件以遵循详细的测试脚本说明。
    • 对于RQ2,在翻译后使用Min-Dependency.pyStandalone.py脚本预处理翻译代码。
    • 对于RQ4,运行manual_eval_tool.py进行手动评估以评估翻译代码的准确性。

要求

  • Python 3.8+
搜集汇总
数据集介绍
main_image_url
构建方式
ClassEval-T数据集由Du等人精心设计,旨在评估大型语言模型(LLMs)在代码翻译任务中的表现。该数据集包含94个真实世界的编程任务,涵盖学生注册系统、面积计算器、五子棋游戏等多种场景。每个任务平均包含66.7行代码和199.5个词元,并附有33.8个测试用例,确保了全面验证的可能性。数据集以Java、Python和C++三种编程语言的形式呈现,每种语言均包含源代码文件和相应的测试用例,形成了一个丰富的多语言资源库。
特点
ClassEval-T数据集的显著特点在于其复杂性和实质性。每个任务不仅包含大量的代码行数和词元,还配备了详细的测试用例,确保了代码翻译任务的全面评估。此外,数据集支持多语言环境,涵盖Java、Python和C++三种主流编程语言,为跨语言代码翻译提供了广泛的应用场景。数据集还提供了针对不同LLMs的调用脚本,如DeepSeek、NVIDIA和Baidu Qianfan,简化了研究人员的实验流程。
使用方法
使用ClassEval-T数据集进行代码翻译评估时,首先需克隆存储库并设置环境。随后,确保数据集准备就绪,并根据研究问题(RQs)选择相应的实验步骤。对于RQ1,参考各语言文件夹中的README文件,执行详细的测试脚本。对于RQ2,在翻译后使用Min-Dependency.py和Standalone.py脚本进行代码预处理。对于RQ4,运行manual_eval_tool.py进行手动评估,以检查翻译代码的准确性。此外,数据集还提供了针对不同LLMs的调用脚本,方便研究人员直接进行代码翻译实验。
背景与挑战
背景概述
ClassEval-T数据集由Du等人设计,旨在评估大型语言模型(LLMs)在代码翻译任务中的表现。该数据集包含94个真实世界的编程任务,涵盖学生注册系统、面积计算器、五子棋游戏等多种场景。每个任务平均包含66.7行代码和199.5个词元,并附有33.8个测试用例,确保了全面的验证。ClassEval-T数据集的开放性为研究LLMs的代码翻译能力提供了丰富的资源,对推动代码翻译领域的研究具有重要意义。
当前挑战
ClassEval-T数据集在构建过程中面临多项挑战。首先,确保代码翻译的准确性是一个主要问题,特别是在跨语言翻译时,如何保持代码的功能和结构一致性。其次,数据集的多样性和复杂性增加了测试和验证的难度,需要设计高效的测试用例和评估工具。此外,不同翻译策略对LLMs性能的影响也是一个关键研究点,如何优化这些策略以提高翻译质量是当前的研究挑战。最后,手动调整和预处理生成的代码以适应自动化测试的需求,增加了数据集使用的复杂性。
常用场景
经典使用场景
在代码翻译领域,ClassEval-T数据集的经典使用场景主要集中在评估大型语言模型(LLMs)在代码翻译任务中的表现。该数据集通过包含94个真实世界的编程任务,涵盖学生注册系统、面积计算器、五子棋游戏等多种场景,为研究人员提供了一个全面且复杂的测试平台。每个任务平均包含66.7行代码和199.5个令牌,并附有33.8个测试用例,确保了对LLMs代码翻译能力的全面验证。
实际应用
在实际应用中,ClassEval-T数据集被广泛用于开发和优化代码翻译工具。例如,开发人员可以使用该数据集来测试和改进从Python到C++的代码转换工具,确保转换后的代码在不同编程语言环境中的一致性和正确性。此外,该数据集还支持在学生注册系统、面积计算器等实际项目中的代码翻译需求,提高了跨语言开发的效率和准确性。
衍生相关工作
基于ClassEval-T数据集,研究人员已经开展了一系列相关工作,包括但不限于开发新的代码翻译策略、优化现有LLMs的翻译性能,以及构建自动化的代码翻译评估工具。例如,有研究通过分析该数据集中的错误类型,提出了改进的翻译模型,显著提高了代码翻译的准确性。此外,还有一些工作利用该数据集进行跨语言编程教学,帮助学生更好地理解和掌握不同编程语言的转换技巧。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作