Benefits and Drawbacks of Adopting a Secure Programming Language: Rust as a Case Study
Benefits and Drawbacks of Adopting a Secure Programming Language: Rust as a Case Study
复制标题
DOI:
--
复制
发表时间:
2021
期刊:
影响因子:
--
通讯作者:
Kelsey R. Fulton;Anna Chan;Daniel Votipka;M. Hicks;Michelle L. Mazurek
中科院分区:
文献类型:
--
作者:
Kelsey R. Fulton;Anna Chan;Daniel Votipka;M. Hicks;Michelle L. Mazurek
Programming languages such as Rust and Go were developed to combat common and potentially devastating memory-safety-related vulnerabilities. But adoption of new, more secure languages can be fraught and complex. To better understand the benefits and challenges of adopting Rust in particular, we conducted semi-structured interviews with professional, primarily senior software developers who have worked with Rust on their teams or tried to introduce it (n = 16), and we deployed a survey to the Rust development community (n = 178). We asked participants about their personal experiences using Rust, as well as experiences using Rust at their companies. We find a range of positive features, including good tooling and documentation, benefits for the development lifecycle, and improvement of overall secure coding skills, as well as drawbacks including a steep learning curve, limited library support, and concerns about the ability to hire additional Rust developers in the future. Our results have implications for promoting the adoption of Rust specifically and secure programming languages and tools more generally.