您现在的位置是:首页 > 文章详情

美国国防部建议使用 AI 自动将 C 代码转换为 Rust

日期:2024-08-05点击:150

为了加快向内存安全编程语言的过渡,美国国防部高级研究计划局(DARPA)正在推动程序代码转换工具 TRACTOR 的开发。TRACTOR 是 TRanslating All C TO Rust 的缩写,该项目旨在开发机器学习工具,自动将旧 C 代码转换为 Rust 代码。

DARPA 表示希望能够通过 AI 模型推动编程语言的转换,从而使软件更加安全。TRACTOR 的 DARPA 项目经理 Dan Wallach 在一份声明中表示:

“你可以访问任何一个 LLM 网站,开始与其中一个 AI 聊天机器人聊天,你只需要说'这里有一些 C 代码,请把它翻译成安全的惯用 Rust 代码',然后剪切、粘贴,就会有结果,而且通常效果很好......研究的挑战在于大幅提高从 C 到 Rust 的自动转换能力,特别是对于最相关的程序构造。”

过去几年来,包括谷歌和微软在内的科技巨头一直在宣传内存安全漏洞带来的问题,并推广使用 C 和 C++ 以外不需要手动内存管理的语言。这些消息也引起了拥有大量遗留代码的美国政府公共部门的注意,并促使白宫和美国网络安全和基础设施安全局(CISA)鼓励使用内存安全编程语言--主要是 Rust,还有 C#、Go、Java、Python 和 Swift。

尽管有 C/C++ 开发人员反驳说,只要正确遵守 ISO 标准并认真应用测试工具,就可以取得类似的结果。但 DARPA 最新的表态指出,经过二十多年的努力,解决 C 和 C++ 的内存安全问题后,软件工程界已经达成共识;国家网络总监办公室呼吁采取更多措施,使软件更加安全,"仅仅依靠错误查找工具是不够的"。

Wallach 向 The Register 表示,TRACTOR 项目的目标是实现高度自动化,因此需要克服一些棘手的技术挑战。

“例如,当你要求 LLM 翻译代码时,LLM 可以给出出人意料的好答案,但它们也会幻化出错误的答案。另一个挑战是,C 语言允许代码使用指针(包括算术),而 Rust 禁止使用指针。要弥合这一差距,需要的不仅仅是从 C 到 Rust 的转换。”

当被问及 DARPA 是否考虑过转换任何特定的代码库时。Wallach 则表示没有任何具体的计划,但 Linux 内核是明确不在范围内的,“因为它们有 Rust 无法解决的技术问题”。

原文链接:https://www.oschina.net/news/305418/darpa-c-to-rust
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章