arrow
返回

Aliasing Limits on Translating C to Safe Rust

delete2023-04-06
delete0
delete
OA
AI
DOI:10.1145/3586046delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Rust语言旨在提供安全的低级系统编程。工业界和学术界均对(半)自动将C代码转换为Rust代码以利用Rust的安全保证这一问题感兴趣。我们研究了现有技术将C转换而来的Rust程序中的不安全原始指针通过所有权和生命周期推断转换为安全Rust引用的有效性与局限性。我们新颖的评估方法使我们能够超越先前的研究,并发现与先前研究结论相矛盾的新信息。我们发现,现有翻译方法受到Rust编译器安全检查器精确性不足的严重限制,导致许多安全的指针操作被标记为可能不安全。利用这一信息,我们提出了改进翻译的方法,这些方法基于将更精确分析的编码结果以未修改的Rust编译器可理解的方式实现。我们实现了一种我们提出的方法,使能够翻译为安全Rust引用的指针数量较基线提高了75%(从所有指针的12%提高到21%)。

期刊

暂无期刊信息

机构

暂无机构信息
引用论文

引用论文

暂无论文信息