Rust庆祝成立10周年

Rust 庆祝成立 10周年之际,Nick Flaherty 与 Adacore 的 Tony Aiello 和 Stephen Hedrick 讨论了嵌入式和任务关键型系统语言的演变

本文引用地址:

Rust 避免了 C 和 C++ 出现的内存问题,确保可以为安全关键型应用程序开发代码。但有几种看法阻碍了它,即没有足够的具有该语言经验的熟练工程师,而且工具还没有准备好。

Rust 语言和 Ada 形式语言的发展之间存在相似之处。Adacore 为安全关键系统开发工具,并于 2023 年推出了适用于 Rust 的 Gnat Pro 工具版本。

“我们的观点与广泛的主流观点不同。我们的重点是为高完整性应用开发工具,通常是在嵌入式领域,包括航空航天和国防、一些新太空、汽车、医疗,“Adacore 产品和创新主管兼负责推出 Rust 工具的产品经理 Aeillo 说。

“我们看到的是 Rust 的势头。对 Rust 的兴趣主要是由普通工程师推动的,他们希望找到一种前卫的方法,将其用于业余项目,并在他们的团队中鼓动 Rust 被采用。

“如果经理们犹豫不决,那不是工程师的问题,因为这还没有在我们的领域得到证实,而且对生态系统的完整性、安全标准的资格存在疑问,这些都是需要解决的问题,”他说

“这仍然是一门年轻的语言,很多东西会随着时间的推移而成熟。事实上,仍然存在着嗡嗡声,而且这种嗡嗡声正在增加并开始渗透到工业中,重要的是要注意,任何主流语言都有这些障碍需要克服,“现任 Rust 产品经理 Hedrick 说

反对使用 Rust 的一个问题是,开发人员可以正确地将 C 语言用于安全关键代码。

“当我们第一次开始谈论 Rust 产品时,我们很惊讶地发现并没有我们预期的兴趣激增。有很多对话,客户想了解 Rust,“Aiello 说。“快进到今天,我们还有更多潜在客户似乎非常接近认真对待 Rust,但人们在不想成为第一时犹豫不决。根据我们从安全关键联盟听到的情况,我持谨慎乐观的态度。

“有些事情看起来与 Ada 相似。它是一种类型安全的语言,这会减慢人们的速度,所以它有点相似,但我觉得差异多于相似之处。

其中一个因素是美国国防部于 1987 年发布的 Ada 授权,旨在标准化软件开发 DoD 并解决不同编程语言和方言的激增问题。

“授权出来时,Ada 还不到 10 岁,感觉编译人员还没有准备好,”Aiello 说。“Rust 的编译器已经准备好了,所以 Rust C 的速度和稳定性都相当快。发出的代码是高效的,但可能最重要的区别是,虽然在工作中,Rust 工程师比 C 少,但 Rust 背后有一个巨大的社区。社区的力量很难被低估。

但他确实承认生态系统中的差距,尤其是修改条件/决策覆盖率 (MC/DC)。这是一个代码覆盖率标准,用于确保关键软件系统的可靠性和健壮性,它超越了基本覆盖率,以验证决策中的每个条件是否独立影响该决策的结果

“存在空白,我们正在填补它们。我们有一个 Rust 的覆盖工具,将在秋天推出。缺少 MC/DC 覆盖,这是绝对必要的。另一个差距是安全关键标准中的锈蚀编码标准。Rust 基金会正在构建一个编码标准,一旦完成,工具就会随之而来。与此同时,这是临时的,但目前它是一个更微妙的解决方案。

运行时库的认证,例如用于安全关键标准(如汽车ISO26262和工业IEC61508)的标准库,也是一个潜在的问题。

“Ada 具有丰富的运行时,而 Rust 具有丰富的运行时,”Aiello 说。“你可以不用 libstd,但 libcore 被视为该语言的基础。这是一个包含 36,000 行代码的大型库,它进入最终应用程序,需要经过认证。这将非常耗时且成本高昂,我们会与潜在客户讨论这个问题。然而,一旦完成了其中一些,它就会使整个社区处于更好的境地。

“将来可能会有反对重新编译库的压力。如果你想发布一个 Rust 库,你必须发布开源的,这可能会有专有代码的问题。这也不是该项目不知道的事情,“Aeillo 说。“关于何时以及如何解决专有代码的 API 问题,正在讨论。”

安全关键联盟包括 Rust Foundation、ARM、Ferrous Systems、OxidOS、Synopsys、HighTec EDV-Systeme、TrustInSoft、Veecle 和 Woven by Toyota,以支持该语言的使用,并通过现有的安全关键项目和标准(包括 SAE JA1020)扩展生态系统。

“由于安全关键联盟的积极工作,取得了很大进展,因此随着事情的进展,人们会认为这是一个更可行的选择,”Hedrick 说。“我们展示实际应用的行业采用案例越多,这就是我们要追求的目标。还有很多事情要做,而且有很大的潜力,这就是很棒的事情。

Aiello 预计 Rust 的授权不会有同样的压力。

“我不指望 Rust 会强制要求。我认为国防部对 ADA 的打击如此严重,我认为他们不会再这样做了。有力推动的地方是推动内存安全授权和推动像 CHERI 这样的内存安全硬件,“他说。“即使在今天,我仍然听说他们的客户存在压力,要求他们转向内存安全。”

AI 副驾驶还可以帮助使用 Rust 进行编码。

“我认为这是一个好主意,尤其是在学习它时,”Hedrick 说。“然后你可以随心所欲地变得复杂。随着潮水的上涨,随着越来越多的业余爱好者和社区机器人项目在 Raspberry Pi 和其他平台上出现,这些项目可以扩展到公司的研究。

内存
新浪科技公众号
新浪科技公众号

“掌”握科技鲜闻 (微信搜索techsina或扫描左侧二维码关注)

创事记

科学探索

科学大家

苹果汇

众测

专题

官方微博

新浪科技 新浪数码 新浪手机 科学探索 苹果汇 新浪众测

公众号

新浪科技

新浪科技为你带来最新鲜的科技资讯

苹果汇

苹果汇为你带来最新鲜的苹果产品新闻

新浪众测

新酷产品第一时间免费试玩

新浪探索

提供最新的科学家新闻,精彩的震撼图片