为了加快向内存安全编程语言的迁移步伐,美国国防部高级研究计划局(DARPA)正积极推动一项名为“TRACTOR”的创新项目。TRACTOR,即“TRanslating All C TO Rust”,是一个旨在利用先进的机器学习技术自动将老旧的C代码转换为Rust语言的工具。内存安全问题一直是软件开发中的老大难,比如常见的缓冲区溢出漏洞,这些隐患常常...
时下,始于大型语言模型 (LLM) 等机器学习技术的最新突破,DARPA 表示这创造了一种新解决方案的环境,即“通过大规模自动化,将世界上高度脆弱的遗留 C 代码自动转换成本质上更安全的 Rust 编程语言。” “你可以访问任何 LLM 网站,开始与其中一个 AI 聊天机器人聊天,你只需要说‘这是一些 C 代码,请将其转换成...
在使用 C2Rust 将 C 代码转换为 Rust 时,我们遇到了一些边缘情况,在这些情况下,Rust 不能完全复制 C 特性(或者至少不能复制 C 语言的 gcc 变体)。如果我们想让 Rust 成为 C 的应用二进制接口兼容的替代方案,这些都是我们亟需解决的一些问题。 long double 类型 在C 语言中,long double类型被指定为至少与dou...
TRACTOR 是 TRanslating All C TO Rust 的缩写,该项目旨在开发机器学习工具,自动将旧 C 代码转换为 Rust 代码。 DARPA 表示希望能够通过 AI 模型推动编程语言的转换,从而使软件更加安全。 TRACTOR 的 DARPA 项目经理 Dan Wallach 在一份声明中表示: “你可以访问任何一个 LLM 网站,开始与其中一个 AI 聊天机器人...
据 TRACTOR 的项目经理 Dan Wallach 介绍,人工智能聊天机器人已经可以将"一些 C 代码"快速转换为安全的 Rust 代码。不过,生成的代码并非完全没有错误(或幻觉)。TRACTOR 的目标是"大幅提高"LLM 自动将 C 代码转换为 Rust 代码的能力。公共部门有相当一部分软件项目是用传统语言开发的,DARPA 也非常清楚这个问题...
C2Rust工具作为一种先进的代码转换技术,它不仅能够将现有的C语言模块高效地转化为Rust语言,而且还保证了转换前后代码语义的一致性。通过兼容C99标准,C2Rust确保了广泛的应用范围,适用于大多数现代C代码库。此外,在转换过程中,C2Rust借助于Clang工具对原始C代码进行深入分析和类型检查,进一步提高了转换结果的准确性和安全...
TRACOT代表的是TRanslating All C TO Rust,即“将所有C代码转换为Rust”。DARPA希望通过人工智能模型的帮助来实现从C到Rust的编程语言转换,以提高软件的安全性。内存安全漏洞,如缓冲区溢出等,是大型代码库中的主要安全隐患之一。近年来,包括谷歌和微软在内的科技巨头一直在强调内存安全漏洞所带来的问题,并推广...
rust 转c语言代码rust转c语言代码 Rust语言是现代化的、性能高并保障内存安全的编程语言,而C语言则是经典的系统编程语言,但它的内存管理是手工进行的,容易导致各种错误。所以直接将Rust代码转成C语言并不一定可行,或者即使可行,也需要对转换后的代码进行大量修改才能正常运行。 Rust和C的语法有很多相似之处,比如变量...
代码语言:txt 复制 [dependencies] anyhow = "1.0" 然后,在代码中导入anyhow库: 代码语言:txt 复制 use anyhow::Context; 接下来,使用context方法将io::Result转换为anyhow::Result。context方法接受一个字符串作为参数,用于描述转换的上下文信息。例如: 代码语言:txt 复制 use std::fs::File; use std::...
用AI 工具将所有的 C 语言转换为 Rust 语言,可行性有多大? 当呼吁起不到实际的效果时,美国政府机构又想出一个提高内存安全编程语言使用率的新方法。 近日,有不少人发现,美国国防高级研究计划局(DARPA)正在启动一项资助计划,即推动一款程序代码转换工具 TRACTOR(全称为 Translating All C to Rust)的开发,旨在借助...