您现在的位置:首页 > 软件资讯 > 业界资讯

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

2024-08-06 12:48:17· 稿源:原创 260 阅读:179

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

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

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

image.png

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

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

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

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

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


标签:
  • 相关推荐
  • 大家都在看
热门推荐