为了加快向内存安全编程语言的迁移步伐,美国国防部高级研究计划局(DARPA)正积极推动一项名为“TRACTOR”的创新项目。TRACTOR,即“TRanslating All C TO Rust”,是一个旨在利用先进的机器学习技术自动将老旧的C代码转换为Rust语言的工具。内存安全问题一直是软件开发中的老大难,比如常见的缓冲区溢出漏洞,这些隐患常常...
我们已经对此进行了尝试,例如我们最近将基于 C 语言的 AV1 实现转换为 Rust。虽然目前的工具还需要不少手动调整才能让结果正确并符合惯用法,但我们相信,通过进一步投资,这些工具将会变得更加高效。”
TRACTOR 是 TRanslating All C TO Rust 的缩写,该项目旨在开发机器学习工具,自动将旧 C 代码转换为 Rust 代码。 DARPA 表示希望能够通过 AI 模型推动编程语言的转换,从而使软件更加安全。 TRACTOR 的 DARPA 项目经理 Dan Wallach 在一份声明中表示: “你可以访问任何一个 LLM 网站,开始与其中一个 AI 聊天机器人...
本文尝试从C++的角度来说明在使用Rust时需要特别注意的一些地方,特别是其中的思维方式的转变(mind shift)。 不久前 Stackoverflow 网站做了一项有八万多开发人员参与的调查问卷,在“大家最想学习的编程语言”选项中,Rust高居第一。 一、赋值的move语义 (一)C++ vs Rust C++的赋值操作是copy语义,在不考虑优化的...
导读:C2Rust 工具能够将大多数 C 模块翻译成语义上等价的 Rust 代码。这些模块将单独编译,以生成兼容的目标文件。C2Rust 是 Galois 和 Immunant 共同推出的项目。由于受到 Facebook 和 Microsoft 的推崇,Rust 开始走进大众的视野,InfoQ 曾发表过《Rust 是系统编程的未来,C 是新的 Assembly》等文章,那么问题来了...
最近,法国国家信息和自动化研究院(Inria)和微软的计算机科学家们联合研发出一种创新的方法,能够自动将C语言代码子集转换为安全的Rust代码。这一突破性进展的背后,正是C语言诞生于20世纪70年代的现实窘境。作为众多重要系统和应用程序的构建基石(比如Linux内核),C语言虽具备高效灵活的手动内存管理,却其内存安全问题却让...
TRACTOR 计划源于最近的两个文化转变:Rust 编程语言的广泛采用和先进机器学习技术的发展。DARPA 对聊天机器人和其他人工智能服务使用的大型语言模型特别感兴趣,因为它们可以为内存安全问题提供新的解决方案。据 TRACTOR 的项目经理 Dan Wallach 介绍,人工智能聊天机器人已经可以将"一些 C 代码"快速转换为安全的 Rust ...
最近,Linus在 “Torvalds 演讲:人工智能对编程的影响”:“我们正在从C语言转向Rust”。 网友讨论: Linus 选择 Rust 是因为,这是一个中长期解决方案,解决了 IT 世界中缺乏 C/C++ 人员的实际问题,所以他做出…
Rust语言因其内存安全的设计而逐渐受到重视,但将现有的C语言代码转化为Rust代码并非易事。现在,由Aymeric Fromherz和Jonathan Protzenko提出的方案,着重解决了这一难题。他们开发了一个称为“Mini-C”的C语言子集,从而避免C中的一些复杂特性,简化了转化过程。通过这种方法,科学家们能够在不损失性能的情况下生成安全的...
C2Rust工具作为一种先进的代码转换技术,它不仅能够将现有的C语言模块高效地转化为Rust语言,而且还保证了转换前后代码语义的一致性。通过兼容C99标准,C2Rust确保了广泛的应用范围,适用于大多数现代C代码库。此外,在转换过程中,C2Rust借助于Clang工具对原始C代码进行深入分析和类型检查,进一步提高了转换结果的准确性和安全...