semeru/code-code-translation-java-csharp
收藏Hugging Face2023-03-27 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/semeru/code-code-translation-java-csharp
下载链接
链接失效反馈官方服务:
资源简介:
---
license: mit
Programminglanguage: "Java/C#"
version: "N/A"
Date: "Most likely 2020"
Contaminated: "Very Likely"
Size: "Standard Tokenizer"
---
### Dataset is imported from CodeXGLUE and pre-processed using their script.
# Where to find in Semeru:
The dataset can be found at /nfs/semeru/semeru_datasets/code_xglue/code-to-code/code-to-code-trans in Semeru
# CodeXGLUE -- Code2Code Translation
## Task Definition
Code translation aims to migrate legacy software from one programming language in a platform toanother.
In CodeXGLUE, given a piece of Java (C#) code, the task is to translate the code into C# (Java) version.
Models are evaluated by BLEU scores, accuracy (exactly match), and [CodeBLEU](https://github.com/microsoft/CodeXGLUE/blob/main/code-to-code-trans/CodeBLEU.MD) scores.
## Dataset
The dataset is collected from several public repos, including Lucene(http://lucene.apache.org/), POI(http://poi.apache.org/), JGit(https://github.com/eclipse/jgit/) and Antlr(https://github.com/antlr/).
We collect both the Java and C# versions of the codes and find the parallel functions. After removing duplicates and functions with the empty body, we split the whole dataset into training, validation and test sets.
### Data Format
The dataset is in the "data" folder. Each line of the files is a function, and the suffix of the file indicates the programming language.
### Data Statistics
Data statistics of the dataset are shown in the below table:
| | #Examples |
| ------- | :-------: |
| Train | 10,300 |
| Valid | 500 |
| Test | 1,000 |
许可证:MIT协议
编程语言:Java/C#
版本:无可用信息
发布日期:大概率为2020年
数据集污染情况:极有可能存在污染
数据集规模:标准分词器
本数据集源自CodeXGLUE,并通过其官方脚本完成预处理。
# 在Semeru中的获取路径
该数据集可在Semeru平台的/nfs/semeru/semeru_datasets/code_xglue/code-to-code/code-to-code-trans路径下获取。
# CodeXGLUE —— 代码到代码翻译任务
## 任务定义
代码翻译旨在将遗留软件从某一平台的编程语言迁移至另一平台的编程语言。在CodeXGLUE基准任务中,给定一段Java(或C#)代码,需将其转换为C#(或Java)版本的代码。模型的评估指标包含BLEU得分、准确率(完全匹配率)以及[CodeBLEU](https://github.com/microsoft/CodeXGLUE/blob/main/code-to-code-trans/CodeBLEU.MD)得分。
## 数据集概况
本数据集采集自多个公开代码仓库,包括Lucene(http://lucene.apache.org/)、POI(http://poi.apache.org/)、JGit(https://github.com/eclipse/jgit/)以及Antlr(https://github.com/antlr/)。我们同时采集了对应代码的Java与C#双版本,并匹配得到并行函数对。在剔除重复样本与空体函数后,将完整数据集划分为训练集、验证集与测试集。
### 数据格式
数据集存储于"data"文件夹中。文件内每一行对应一个函数,文件后缀名用于标识该文件内代码的编程语言。
### 数据统计
本数据集的统计信息如下表所示:
| | 样本数量 |
| ------- | :-------: |
| 训练集 | 10300 |
| 验证集 | 500 |
| 测试集 | 1000 |
提供机构:
semeru原始信息汇总
数据集概述
数据集来源与处理
- 数据集从CodeXGLUE导入,并使用其提供的脚本进行预处理。
数据集存储位置
- 在Semeru系统中,数据集位于
/nfs/semeru/semeru_datasets/code_xglue/code-to-code/code-to-code-trans。
任务定义
- 代码翻译任务旨在将遗留软件从一个编程语言平台迁移到另一个。在CodeXGLUE中,任务是给定一段Java(C#)代码,将其翻译成C#(Java)版本。
评估指标
- 模型评估使用BLEU分数、准确性(完全匹配)和CodeBLEU分数。
数据集组成
- 数据集从Lucene、POI、JGit和Antlr等公共仓库收集,包含Java和C#版本的代码,并找到平行函数。
- 经过去重和去除空体函数后,数据集被分为训练集、验证集和测试集。
数据格式
- 数据集位于“data”文件夹中,每行代表一个函数,文件后缀表示编程语言。
数据统计
| #Examples | |
|---|---|
| Train | 10,300 |
| Valid | 500 |
| Test | 1,000 |
搜集汇总
数据集介绍

构建方式
在软件工程领域,跨语言代码迁移是技术演进中的关键环节。为应对这一需求,semeru/code-code-translation-java-csharp数据集应运而生,它源自CodeXGLUE基准测试,并经由其官方脚本精心预处理而成。该数据集从Lucene、POI、JGit和Antlr等知名开源仓库中采集Java与C#双语言版本的代码,通过精准匹配并行函数对,并剔除重复项及空函数体后,最终划分出训练集、验证集和测试集,分别包含10,300、500和1,000个样本,构建过程严谨而系统。
特点
该数据集的核心特色在于其专注于Java与C#之间的双向代码翻译任务,为跨语言迁移研究提供了标准化评估平台。它不仅支持传统的BLEU分数和精确匹配准确率,还引入了CodeBLEU这一综合度量指标,以更全面地衡量翻译代码的语义保真度。数据来源涵盖多个成熟开源项目,确保了代码片段的真实性和多样性,同时通过严格的去重与过滤流程,维持了数据的高质量与低噪声,为模型训练奠定了坚实基础。
使用方法
在实际应用中,用户可直接加载数据集中的“data”文件夹,其中每行代表一个函数,文件后缀明确指示编程语言。模型需根据输入的Java代码生成对应的C#版本,或反之。评估时,可借助CodeXGLUE提供的脚本计算BLEU、准确率和CodeBLEU分数,以量化翻译效果。该数据集适用于序列到序列模型的训练与测试,如Transformer架构,研究人员可灵活调整超参数以优化跨语言代码转换的性能,推动软件迁移自动化的发展。
背景与挑战
背景概述
代码翻译任务旨在将一种编程语言的代码自动转换为另一种编程语言,对于软件迁移、跨平台开发和维护遗留系统具有重要价值。semeru/code-code-translation-java-csharp数据集由微软CodeXGLUE团队于2020年左右创建,核心研究问题聚焦于Java与C#之间的双向代码翻译。该数据集从Lucene、POI、JGit及Antlr等知名开源项目中收集了并行函数对,经过去重和空函数过滤后,构建了包含10,300个训练样本、500个验证样本和1,000个测试样本的基准资源。作为CodeXGLUE的重要组成部分,该数据集为代码翻译领域提供了标准化评估平台,推动了BLEU、精确匹配和CodeBLEU等评测指标的发展,对自然语言处理与程序语言理解的交叉研究产生了深远影响。
当前挑战
该数据集面临多重挑战。在领域问题层面,代码翻译需解决跨语言语法差异、语义等价性保持及平台特定API映射等核心难题,例如Java与C#在泛型实现、异常处理机制和命名约定上的根本不同,导致简单词法转换无法保证功能正确性。在构建过程中,挑战包括:从异构开源仓库中精确对齐并行函数的难度,因代码版本迭代和开发者习惯差异可能引入噪声;数据污染风险较高,由于训练数据可能包含与测试集相似的代码片段,影响模型泛化能力评估;以及数据集规模相对有限,仅1万余样本难以覆盖复杂编程场景,限制了深度模型在真实工业级项目上的迁移效果。
常用场景
经典使用场景
在软件工程与编程语言迁移的学术探索中,semeru/code-code-translation-java-csharp数据集扮演着举足轻重的角色。该数据集汇聚了来自Lucene、POI、JGit及Antlr等知名开源项目的Java与C#并行函数对,经过精心去重与筛选后,形成了包含10,300个训练样本、500个验证样本及1,000个测试样本的高质量平行语料库。其最经典的使用场景在于推动跨编程语言的代码翻译任务,即给定一段Java代码,模型需精准生成对应的C#版本,反之亦然。研究者常以此数据集为基准,评估模型在BLEU分数、精确匹配准确率及CodeBLEU等多维度指标上的表现,从而衡量代码语义与语法迁移的保真度。
解决学术问题
该数据集直击软件遗产迁移与跨语言代码重构的核心学术难题——如何在保持程序行为一致性的前提下,实现源代码在不同编程范式间的自动翻译。传统上,手动完成Java到C#的迁移不仅耗时且易引入人为错误,而基于规则的方法又难以覆盖两语言在类型系统、异常处理及异步编程等深层语义上的差异。semeru/code-code-translation-java-csharp的提出,为神经机器翻译模型提供了大规模、对齐精准的训练语料,使研究者能够探索利用序列到序列学习、注意力机制乃至预训练代码模型来捕获跨语言代码的语义等价关系。这一数据集的出现,显著推动了代码表征学习与程序理解领域的进展,为构建通用代码翻译系统奠定了数据基础。
衍生相关工作
自semeru/code-code-translation-java-csharp作为CodeXGLUE基准的一部分发布以来,它催生了一系列经典研究工作。其中,微软研究院提出的TransCoder率先利用无监督学习在该数据集上实现了突破性的代码翻译性能,其核心思想是通过跨语言代码的共享表示空间来弥合语法鸿沟。随后,GraphCodeBERT等结构感知模型将代码的抽象语法树与数据流信息融入编码器,进一步提升了翻译的语义准确性。此外,CodeT5与CodeGen等预训练语言模型也在此数据集上进行了微调,验证了统一序列模型在代码生成与翻译中的通用能力。这些衍生工作不仅深化了我们对代码语义等价性的理解,更推动了从规则驱动到数据驱动的代码迁移范式的根本转变。
以上内容由遇见数据集搜集并总结生成



