Rust 是一种相对年轻的系统编程语言,旨在同时提供高级编程语言的安全保证和低级编程语言的执行性能。为了实现这个设计目标,Rust 提供了一套安全规则,并在编译时检查这些安全规则,以消除许多内存安全和线程安全问题。得益于其安全性和性能,Rust 近年来越来越受欢迎,并已用于编写许多对安全性要求很高的系统软件。
为了理解 Rust 安全规则带来的学习和编码挑战。宾州州立大学的科研人员进行了两项研究。他们首先针对随机取样100 个与 Rust 相关的 Stack Overflow 问题来进行证实研究。他们试图了解 (1) 哪些安全规则难以学习和使用,(2) 在哪些编码场景下安全规则变得更难应用,以及 (3) 违反安全规则时, Rust 编译器能否足够的帮助。其次,为了验证证实研究的发现,科研人员设计了在线调研问卷。总共 101 名 Rust 程序员参与了问卷。在问卷中,科研人员通过修改已有的程序的违反规则或者代码结构,设计了一系列的相似的程序变种。问卷参与者被要求针对不同的变种回答问题,随后科研人员分析了参与者在不同程序变种上的表现。科研人员在这两种方法的研究中获得了一些一致的观察。这些观察可以帮助 Rust 新手、从业者和语言设计者。
这项研究成果发表在了学术会议ICSE‘2022上(软件工程领域的最好的会议)。
论文原文可以通过一下链接获得:https://songlh.github.io/paper/survey.pdf
reddit上的讨论可以从这里阅读: https://www.reddit.com/r/rust/comments/sr6tdi/survey_on_programming_challenges_of_rust/
Ext Link: https://songlh.github.io/paper/survey.pdf
评论区
写评论这个研究终于变成论文了啊
我记得论坛里面有好几次给这个研究征集调查问卷的帖子