这段代码虽然简单,但却能很好地展示C2Rust工具的基本转换流程。当张晓第一次尝试使用C2Rust将其转换为Rust时,她发现整个过程异常流畅。C2Rust首先利用Clang工具对这段C代码进行了语法与类型检查,确认无误后,再通过其核心转换引擎将上述代码逐行翻译成了Rust语言。转换后的代码如下所示: fn add(a: i32, b: i32) ...
近日,有不少人发现,美国国防高级研究计划局(DARPA)正在启动一项资助计划,即推动一款程序代码转换工具 TRACTOR(全称为 Translating All C to Rust)的开发,旨在借助 AI 大模型技术独立地将传统的 C 和 C++ 代码直接转换为可用的 Rust 代码。 同时,DARPA最终希望这款 AI 工具达到的水平能够与经验丰富的 Rust 程序员...
为了加快向内存安全编程语言的过渡,美国国防部高级研究计划局(DARPA)正在推动程序代码转换工具 TRACTOR 的开发。 TRACTOR 是 TRanslating All C TO Rust 的缩写,该项目旨在开发机器学习工具,自动将旧 C 代码转换为 Rust 代码。 DARPA 表示希望能够通过 AI 模型推动编程语言的转换,从而使软件更加安全。 TRACTOR 的 DAR...
以HACL*高保证加密库为例,这一库由80000行C代码组成,通过Minimal-C的转换,研究人员成功地将其转化为内存安全的Rust代码,相较于原始代码,转换后只需进行最少的修改。另一项验证工具EverParse同样展现出色,无需对源代码进行改动就能完成转换,显示出该方法的高效性和实用性。 此外,研究表明,转换后的Rust代码性能与原...
内存安全问题一直是软件开发中的老大难,比如常见的缓冲区溢出漏洞,这些隐患常常潜伏在庞大的代码库中,成为安全威胁的主要来源。DARPA希望通过TRACTOR这样的工具,借助AI的力量来简化这一转化过程,从而使软件变得更加坚固可靠。 整理丨诺亚 出品| 51CTO技术栈(微信号:blog51cto) ...
Lint 是代码静态分析工具的一种,最早是来源于 C 语言。Lint 工具通常会检查代码中潜在的问题和错误,包括(但不限于)编程风格(缩进、空行、空格)、代码质量(定义未使用的变量、文档缺失)以及错误代码(除0错误、重复定义、循环引用)等问题。通常来说,Lint 工具除了标识错误外,还会带有一定的 fix/refactor suggest 和...
ansi_colours是一个库,可在ANSI终端(例如256色模式下rxvt-unicode上的xterm)使用的24位sRGB颜色和8位调色板之间进行转换。 最常见的用例是在仅支持8位调色板的终端仿真器中使用24位颜色。 该软件包允许通过终端所支持的值来逼近真彩色。 当将真彩色映射到可用的256色调色板(其中实际上只有240个可用)时,此程序包...
(4)工具链:Zig 的工具链使我们能够更容易地使用 musl libc 编译静态链接的 Linux 二进制文件,这正是我们长期以来一直希望实现的目标,以便 Roc 可以在任何发行版上运行(包括目前我们 Rust 编译器无法支持的 Alpine 容器)。我们知道这在 Rust 中也可以实现,但在 Zig 中更容易。Zig 的编译器本身就是这样做的,而...
【下载txt文本】为甩掉C语言,美国政府机构再想新招:开发AI工具,一键将旧的C代码转为Rust_AIGC视界[回 目录]在线阅读文章作者:AIGC视界@公众号字数统计: 4693字/1贴/1原帖/1页更新时间:2024-08-07 09:32:26现在更新 下载PDF格式、文本格式和带图PDF格式。请访问 "积分下载"链接下载。查看下面的说明,获取...
当呼吁起不到实际的效果时,美国政府机构又想出一个提高内存安全编程语言使用率的新方法。 近日,有不少人发现,美国国防高级研究计划局(DARPA)正在启动一项资助计划,即推动一款程序代码转换工具 TRACTOR(全称为 Translating All C to Rust)的开发,旨在借助 AI 大模型技术独立地将传统的 C 和 C++ 代码直接转换为可用...