ClassEval-T
收藏资源简介:
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.
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模型的脚本。
环境要求
- 解决方案代码:包含待测试的代码。
- 测试代码:包含每个任务的测试用例。
- 开发环境:推荐使用Visual Studio。
研究问题(RQs)
RQ1(整体正确性):近期LLMs在类级别代码翻译中的表现如何?
该研究问题调查类级别代码翻译在多种语言(Java、Python、C++)中的整体正确性,并提供每种语言的详细测试脚本。
RQ2(翻译策略):不同的翻译策略如何影响近期LLMs的性能?
由于最小依赖翻译和独立翻译策略生成的代码以块而非完整脚本形式存在,需在运行自动化测试前进行预处理。每种编程语言(Java、Python、C++)都有其特定的预处理文件。
RQ4(失败案例分析):LLMs会犯哪些类型的错误,频率如何?
为解决RQ4,提供了一个手动评估工具,允许用户检查翻译代码的准确性,帮助研究人员识别LLM代码翻译中的常见错误类型。
入门指南
- 克隆仓库并设置环境。
- 数据准备:确保ClassEval-T数据集可用并准备好进行LLM调用。
- 运行实验:
- 对于RQ1,参考每种语言文件夹中的
README文件以遵循详细的测试脚本说明。 - 对于RQ2,在翻译后使用
Min-Dependency.py和Standalone.py脚本预处理翻译代码。 - 对于RQ4,运行
manual_eval_tool.py进行手动评估以评估翻译代码的准确性。
- 对于RQ1,参考每种语言文件夹中的
要求
- Python 3.8+




