论文来自 2023 IEEE International Conference on Software Engineering (ICSE 23) 的《Improving Automatic C-to-Rust Translation with Static Analysis》。
摘要
尽管 C 语言在系统编程领域广受欢迎,但也因其贫乏的语言级安全机制而“臭名昭著”,由此导致了严重的缺陷与漏洞。即便通过了类型检查,C 程序仍可能存在内存与线程方面的错误。为了解决这一由来已久的问题,近年来出现了 Rust,它配备了丰富的安全机制,尤以其“所有权”类型系统著称。Rust 通过类型检查来防止内存与线程错误。将遗留的 C 程序用 Rust 重写,开发者便能发现此前未知的缺陷,并避免引入新的错误。