为了加快向内存安全编程语言的迁移步伐,美国国防部高级研究计划局(DARPA)正积极推动一项名为“TRACTOR”的创新项目。TRACTOR,即“TRanslating All C TO Rust”,是一个旨在利用先进的机器学习技术自动将老旧的C代码转换为Rust语言的工具。内存安全问题一直是软件开发中的老大难,比如常见
我们已经能够将大多数 C 代码转换为与语言交互接口兼容的、等价的 Rust:lua、NGINX 和 zstd 在无需任何更改的情况下进行了 transpile,而 ioq3 只需在 Rust 输出中进行一个小的更改即可运行(上面所示的ssemask问题)。我们希望,随着 Rust 的成熟,我们可以解决这些阻碍 C 和 Rust 之间的完全兼容的边缘情况。 作者...
c2rust:这是一个专门设计的工具,可以将C代码转换为等效的Rust代码。使用方法通常是: 安装c2rust工具(通过Rust的包管理器cargo或源码安装)。 输入C源文件,运行命令(如c2rust transpile file.c),生成Rust代码。 检查生成的Rust代码。 但需要注意的是,c2rust生成的代码通常包含unsafe块(不安全的Rust代码),因为C中的...
时下,始于大型语言模型 (LLM) 等机器学习技术的最新突破,DARPA 表示这创造了一种新解决方案的环境,即“通过大规模自动化,将世界上高度脆弱的遗留 C 代码自动转换成本质上更安全的 Rust 编程语言。” “你可以访问任何 LLM 网站,开始与其中一个 AI 聊天机器人聊天,你只需要说‘这是一些 C 代码,请将其转换成...
据 TRACTOR 的项目经理 Dan Wallach 介绍,人工智能聊天机器人已经可以将"一些 C 代码"快速转换为安全的 Rust 代码。不过,生成的代码并非完全没有错误(或幻觉)。TRACTOR 的目标是"大幅提高"LLM 自动将 C 代码转换为 Rust 代码的能力。公共部门有相当一部分软件项目是用传统语言开发的,DARPA 也非常清楚这个问题...
TRACOT代表的是TRanslating All C TO Rust,即“将所有C代码转换为Rust”。DARPA希望通过人工智能模型的帮助来实现从C到Rust的编程语言转换,以提高软件的安全性。内存安全漏洞,如缓冲区溢出等,是大型代码库中的主要安全隐患之一。近年来,包括谷歌和微软在内的科技巨头一直在强调内存安全漏洞所带来的问题,并推广...
可以看到,针对迭代器,Rust提供了丰富的函数对其处理,具体可以参考文档。此种编码风格,与旧风格的C++很不一样,转到Rust后在需要对集合进行循环处理的场合,可以有意识地想想,能不能将逻辑写成迭代器的形式,通常可以得到更加简洁的代码,同时,如前面所说,也可能获得性能更高的代码。 最后提一下,C++社区也在积极的采纳...
这篇论文讨论了将C语言代码自动翻译为Rust语言的可能性和方法,特别强调了生成安全Rust代码的重要性。 http://t.cn/A6uPtQJM 作者提出了一种新的方法,通过形式化验证支持的C到Rust的翻译,确保翻译后的代码保持...
TRACTOR是TRanslating All C TO Rust的缩写,即“将所有C语言代码转换为Rust语言”。 大型代码库的多数严重漏洞都属于内存安全漏洞,例如缓冲区溢出。DARPA希望通过AI模型进行编程语言大规模转换,提升软件安全。DARPA的TRACTOR项目经理Dan Wallach在一份声明中表示,目前使用LLM(大语言模型)可以初步实现从C到Rust的转换,但...