Ubuntu资助博士项目,推动C代码自动转换为Rust

Ubuntu资助博士项目,推动C代码自动转换为Rust

Canonical近日宣布出资支持一项为期三年的博士研究项目,致力于开发一套系统,能够自动将大型C代码库转换为Rust语言。该项目获得了英国研究与创新(UKRI)的资金匹配,将由布里斯托大学的编程语言研究小组负责实施。

项目目标:构建全面的自动化转换平台

a discourse post by someone named "jnsgruk" (jon seager) on the ubuntu forum, announcing canonical's funding of a 3-year old phd project

该博士项目旨在构建一个全方位的平台,能够处理数以十万行计的C代码仓库,将其转换为“安全、行为正确且可维护的Rust代码”。项目将由学生Alex Wood主导,在Meng Wang教授的指导下进行,Cristina David博士与Canonical的Jon Seager将担任联合导师。

工作原理:分步实现精准转换

从C代码自动转换为Rust需解决多个问题,系统将通过序列化步骤逐步处理。首先,系统需将庞大的代码库拆分为易于处理的模块,同时保留模块间的依赖关系。随后,利用已训练的语言模型进行实际翻译,目标是生成符合Rust开发者习惯的代码,而非简单的语法替换。翻译后的代码需通过验证环节,确保其行为与原C代码一致,这涉及模糊测试和形式等价检查。若出现偏差,系统将采用符号程序修复技术定位错误并修正,而非重新翻译整个模块。

Jon Seager指出,语言模型仅承担部分工作,生成的代码必须通过验证才能确保功能完整性。

测试用例:聚焦生产环境关键组件

项目选择AppArmor和snap-confine作为测试对象,这两项技术在Ubuntu系统中已投入生产使用,负责权限控制和沙箱隔离,是用户日常依赖但不易察觉的关键组件。选择它们并非因其简单,而是因为Canonical希望借助工业级测试案例,验证方法在真实生产环境下的可靠性。测试真实组件能模拟多年实际使用积累的复杂情况,使翻译过程更具挑战性,这正是项目的核心目标。

Jon Seager强调,该项目成果不会立即应用于这些工具,Canonical的关注点在于验证方法的可行性,而非直接进行代码重写。

为何值得关注:提升系统安全性的潜在可能

若该项目成功,Canonical将获得自动化翻译是否可信的答案,特别是针对保护系统安全的代码。这将使Ubuntu用户——从普通桌面用户到企业部署——最终可能获得更少漏洞的安全关键组件,而无需承担手动重写敏感代码的高风险和耗时成本。


关注微信号:智享开源 ,及时了解更新信息。

评论列表

发表评论

你必须 登录 才能发表评论.

为您推荐


请支持IMCN发展!

谁在捐赠

微信捐赠 支付宝捐赠
微信捐赠 支付宝捐赠
ta的个人站点

发表文章4573篇

关注我的头条 不要放弃,百折不挠,坚强、自信。


扫码关注公众号:智享开源

最新科技信息


归档

近期评论