- 简介Rust编程语言在系统编程中越来越受欢迎,因为它可以在没有自动垃圾回收的情况下静态保证内存安全。Rust通过限制别名和可变性来提供其安全保证,但许多关键设计模式(例如循环别名和多语言互操作)必须绕过这些限制。Rust的“unsafe”关键字启用了开发人员可以使用的功能,以实现这些模式,并且Rust生态系统包括有用的工具,用于验证“unsafe”代码的正确使用。然而,目前尚不清楚这些工具是否适用于所有用例。为了了解开发人员的需求,研究人员进行了半结构化访谈和调查的混合方法研究。他们采访了19名Rust开发人员并对160名开发人员进行了调查,这些人都涉及“unsafe”代码。他们发现,77%的调查受访者和大多数采访对象使用“unsafe”代码的原因是因为他们不知道安全的替代方案。开发人员通常遵循最佳实践,例如最小化和本地化使用“unsafe”代码,但只有23%的人始终确定他们的封装是正确的。内联汇编和外部函数调用的有限工具支持阻止开发人员验证“unsafe”代码,并且Rust与其他语言之间的差异使外部函数难以封装。验证工具被低估使用,开发人员很少审核其依赖项。研究结果表明,需要生产就绪的工具来验证最常用的“unsafe”功能。
- 图表
- 解决问题论文试图解决Rust编程语言中unsafe代码的验证问题,以及开发者在使用unsafe代码时的困难和需求。这是一个新问题。
- 关键思路论文提出了一些解决unsafe代码验证问题的工具和技术,并分析了开发者在使用unsafe代码时的需求和困难。相比当前的研究,该论文提供了一些新的实用工具和洞见。
- 其它亮点论文采用了混合方法的研究方式,包括半结构化访谈和调查问卷,涉及19位Rust开发者和160位使用unsafe代码的开发者。研究发现,77%的调查受访者和大多数访谈参与者使用unsafe代码是因为不知道有更安全的替代方案。开发者通常会遵循最佳实践,但只有23%的开发者总是确信他们的封装是正确的。论文还讨论了内联汇编和外部函数调用的验证问题,以及Rust与其他语言之间的差异导致的封装困难。论文的亮点包括提供了一些新的工具和洞见,以及对开发者使用unsafe代码的实践进行了深入的分析。
- 在Rust语言中,与unsafe代码验证相关的研究还比较有限。但是,有一些相关的研究包括:1. RustBelt项目,旨在提高Rust语言的安全性;2. MIRAI项目,旨在使用静态分析技术来验证Rust代码的安全性。
沙发等你来抢
去评论
评论
沙发等你来抢