ClassEval-T
收藏arXiv2024-11-09 更新2024-11-13 收录
下载链接:
http://arxiv.org/abs/2411.06145v1
下载链接
链接失效反馈官方服务:
资源简介:
ClassEval-T是一个面向类级别的代码翻译基准数据集,由山东大学构建。该数据集包含Python、Java和C++三种编程语言的类级别代码片段,旨在评估大型语言模型在实际开发中的代码翻译能力。数据集通过360人小时的逐行手动翻译完成,包含丰富的依赖信息和实际编程问题,如数据库操作和游戏设计。创建过程中,研究人员设计了三种翻译策略,并评估了六种不同类型的大型语言模型。ClassEval-T的应用领域主要集中在代码翻译和大型语言模型的性能评估,旨在解决现有基准数据集在实际开发中代码翻译能力的不足。
ClassEval-T is a class-level code translation benchmark dataset constructed by Shandong University. It encompasses class-level code snippets across three programming languages: Python, Java, and C++, and aims to evaluate the code translation capabilities of large language models (LLMs) in real-world software development. The dataset was completed through 360 person-hours of line-by-line manual translation, and includes rich dependency information as well as practical programming scenarios such as database operations and game design. During its development, researchers designed three translation strategies and evaluated six distinct types of large language models. ClassEval-T is primarily applied in the fields of code translation and LLM performance evaluation, and is intended to address the shortcomings of existing benchmark datasets in evaluating code translation capabilities during practical software development.
提供机构:
山东大学
创建时间:
2024-11-09
搜集汇总
数据集介绍

构建方式
ClassEval-T数据集的构建基于ClassEval,这是一个著名的类级别Python代码生成基准,涵盖了多个实际编程主题,如数据库操作和游戏设计,并具有多样化的上下文依赖(如字段、方法和库)。为了创建ClassEval-T,研究团队耗费了360个人工小时,手动将Python代码迁移到Java和C++,确保了完整的代码样本和相关的测试套件。这一过程通过严格的命名约定、类型转换、实现布局、库选择和测试套件构建原则,确保了翻译代码的高质量。
特点
ClassEval-T数据集显著特点在于其类级别的代码翻译,超越了传统的语句/方法级别,包含了更长的代码长度、多样的依赖关系以及实际编程问题。该数据集不仅评估代码翻译的正确性,还评估了大型语言模型(LLMs)在依赖感知和适当库调用方面的能力。此外,ClassEval-T支持多种翻译策略的探索,如整体翻译、最小依赖翻译和独立翻译,为评估LLMs在不同场景下的表现提供了丰富的工具。
使用方法
ClassEval-T数据集适用于评估和提升大型语言模型在类级别代码翻译任务中的性能。研究者和开发者可以通过该数据集测试不同LLMs在多种编程语言(如Python、Java和C++)之间的翻译能力,并探索不同的翻译策略(如整体翻译、最小依赖翻译和独立翻译)。此外,数据集的高覆盖率测试套件和详细的依赖信息,使得用户能够深入分析LLMs在代码翻译中的依赖感知和推理能力,从而为实际应用和未来研究提供指导。
背景与挑战
背景概述
近年来,大型语言模型(LLMs)在自动化代码翻译方面取得了显著进展,使得在许多先前的基准测试中,其计算准确率达到了80%以上。然而,这些基准测试中的大多数代码样本都是短小的、独立的、语句/方法级别的,并且算法性强,这与实际的编码任务不符。因此,LLMs在日常开发中编写的代码样本翻译的实际能力仍然未知。为了解决这一问题,我们构建了一个类级别的代码翻译基准测试,即ClassEval-T,并首次尝试广泛评估最近LLMs在类级别代码翻译中的表现。ClassEval-T是从ClassEval扩展而来的,ClassEval是一个著名的类级别Python代码生成基准,包含多个实际编码主题,如数据库操作和游戏设计,以及多样化的上下文依赖(例如字段、方法和库)。我们花费了360个人工时完成了手动迁移到Java和C++,并提供了完整的代码样本和相关的测试套件。随后,我们设计了三种翻译策略(即整体、最小依赖和独立)用于类级别代码翻译,并在ClassEval-T上评估了六种不同类型、家族和大小的最近LLMs。实验结果表明,与最广泛研究的方法级别代码翻译基准相比,性能显著下降,LLMs之间出现了明显的差异,显示出ClassEval-T在衡量最近LLMs方面的有效性。
当前挑战
ClassEval-T数据集面临的挑战主要集中在两个方面。首先,解决的领域问题是类级别代码翻译,这与之前的方法级别代码翻译相比,涉及更长的代码长度、更多的上下文依赖和更复杂的实际编码问题。其次,在构建过程中,手动迁移到Java和C++并确保代码样本和测试套件的完整性是一个耗时且复杂的过程,需要高度的专业知识和细致的工作。此外,评估LLMs在类级别代码翻译中的表现时,需要考虑不同的翻译策略和LLMs的依赖感知能力,这增加了评估的复杂性和难度。
常用场景
经典使用场景
ClassEval-T数据集的经典使用场景在于评估大型语言模型(LLMs)在类级别代码翻译任务中的性能。通过提供包含多种编程语言(如Python、Java和C++)的类级别代码样本,该数据集允许研究人员和开发者测试和比较不同LLMs在处理复杂代码结构、依赖关系和实际编程问题时的表现。这种评估不仅限于代码的正确性,还包括对依赖关系的感知和推理能力,从而全面衡量LLMs在实际开发环境中的适用性。
实际应用
在实际应用中,ClassEval-T数据集为开发者提供了宝贵的工具,帮助他们评估和选择适合特定编程任务的LLMs。通过该数据集,开发者可以了解不同LLMs在处理类级别代码翻译时的优缺点,从而在实际项目中做出更明智的技术选择。此外,该数据集还促进了LLMs在软件开发中的应用,特别是在跨语言代码迁移和代码生成等场景中,提高了开发效率和代码质量。
衍生相关工作
ClassEval-T数据集的发布催生了一系列相关的经典工作,特别是在代码翻译和代码生成领域。例如,基于ClassEval-T的研究成果,一些学者提出了新的翻译策略和评估方法,进一步优化了LLMs在类级别代码翻译中的表现。此外,该数据集还激发了对LLMs在代码理解和生成方面能力的深入研究,推动了相关技术的创新和发展。这些衍生工作不仅丰富了代码翻译领域的研究内容,也为实际应用提供了更多可能性。
以上内容由遇见数据集搜集并总结生成



