five

yijunyu/c-to-rust

收藏
Hugging Face2024-02-13 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/yijunyu/c-to-rust
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集包含从C语言到Rust语言以及从Java语言到C#语言的代码翻译数据。C到Rust的翻译数据来自c2rust transpiler on Rosetta Code,而Java到C#的翻译数据来自CodeT5。数据集分为训练集、测试集和验证集,分别存储在对应的JSON文件中。

该数据集包含从C语言到Rust语言以及从Java语言到C#语言的代码翻译数据。C到Rust的翻译数据来自c2rust transpiler on Rosetta Code,而Java到C#的翻译数据来自CodeT5。数据集分为训练集、测试集和验证集,分别存储在对应的JSON文件中。
提供机构:
yijunyu
原始信息汇总

数据集概述

数据集名称

C-to-Rust (from c2rust transpiler on Rosetta Code) and Java-to-Csharp (from CodeT5) code translation datasets

许可证

apache-2.0

语言

  • 英语 (en)

标签

  • 代码 (code)

配置

配置名称:c-to-rust

  • 训练集train.c-rust.json
  • 测试集test.c-rust.json
  • 验证集valid.c-rust.json

配置名称:java-to-cs

  • 训练集train.java-cs.json
  • 测试集test.java-cs.json
  • 验证集valid.java-cs.json
搜集汇总
数据集介绍
main_image_url
构建方式
在编程语言转换研究领域,yijunyu/c-to-rust数据集通过系统化方法构建而成。其C语言至Rust语言的转换对来源于c2rust转译器在Rosetta Code平台上的应用,确保了转换过程的自动化与一致性;而Java至C#的转换对则借助CodeT5模型生成,体现了利用先进预训练模型进行代码迁移的技术路径。数据集严格划分为训练集、验证集和测试集,并以结构化JSON格式存储,为模型训练与评估提供了清晰的数据划分基础。
特点
该数据集的核心特征在于其专注于跨编程语言的代码转换任务,涵盖了C到Rust以及Java到C#两对具有代表性的语言组合。每一对转换都源自可靠的自动化工具或模型,保证了转换示例在语法和功能上的对应性。数据集结构清晰,配置分明,支持研究者针对特定语言对进行定向实验与性能分析,为代码翻译模型的训练与验证提供了高质量的平行语料。
使用方法
在代码智能与程序分析的研究中,本数据集可直接用于训练和评估代码翻译模型。用户可通过加载指定的配置文件(如c-to-rust或java-to-cs)来访问对应的训练、验证和测试分割。每个分割文件均以JSON格式提供源语言与目标语言的代码对,便于输入到神经网络模型中进行序列到序列的学习。研究者可利用该数据集探索代码语义保持、语法转换准确性等关键问题,推动自动化代码迁移技术的发展。
背景与挑战
背景概述
在软件工程与程序语言研究领域,跨语言代码转换技术旨在实现不同编程语言间功能等价代码的自动生成,以提升软件迁移与重构的效率。yijunyu/c-to-rust数据集由研究人员或机构基于开源工具构建,其核心研究问题聚焦于C语言至Rust语言、以及Java至C#的代码翻译任务。该数据集通过整合Rosetta Code平台上的c2rust转译器输出与CodeT5模型生成结果,为探索代码语义保持与语法转换的自动化方法提供了重要资源,对推动程序分析、编译器设计及智能代码辅助工具的发展具有显著影响力。
当前挑战
该数据集所针对的代码翻译领域面临多重挑战:其一,确保跨语言转换过程中程序语义的精确等价性,避免因语言特性差异(如内存管理模型、类型系统)引入潜在错误;其二,处理源代码中复杂的控制流与数据结构映射,需克服语法异构性带来的表达歧义。在构建过程中,挑战主要源于数据源的异构整合,包括从Rosetta Code提取的C/Rust配对代码需验证功能一致性,以及由CodeT5生成的Java/C#样本可能存在的噪声与偏差,这要求严格的数据清洗与对齐流程以保证质量。
常用场景
经典使用场景
在编程语言转换领域,C-to-Rust数据集为跨语言代码迁移提供了关键资源。该数据集通过收集C语言与Rust语言之间的对应代码片段,构建了一个结构化的平行语料库,广泛应用于代码翻译模型的训练与评估。研究者利用这些数据训练神经网络模型,探索从C到Rust的自动转换机制,为编程语言间的语义保持转换奠定基础。
衍生相关工作
围绕C-to-Rust数据集,衍生出多项经典研究工作,包括基于Transformer的代码翻译模型、跨语言代码检索系统以及程序语义保持转换方法。这些工作进一步扩展了数据集的应用范围,推动了代码智能领域的发展。例如,一些研究利用该数据集探索代码翻译中的类型推断和内存安全保证,为编程语言设计提供了实证依据。
数据集最近研究
最新研究方向
在程序语言转换领域,C-to-Rust与Java-to-Csharp数据集正成为推动代码迁移与跨平台重构的关键资源。随着软件现代化进程加速,尤其是Rust语言在系统编程中因其内存安全特性而备受青睐,该数据集支持了基于深度学习的代码翻译模型训练,促进了从传统C代码到Rust的高效转换,减少了手动重写成本与潜在漏洞。同时,Java与C#的互转研究响应了企业级应用跨框架集成的需求,结合大语言模型如CodeT5的进展,推动了代码语义保持与结构优化的前沿探索,为自动化软件维护与生态融合提供了实证基础。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作