Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering 2020
DOI: 10.1145/3377811.3380413
|View full text |Cite
|
Sign up to set email alerts
|

Is rust used safely by software developers?

Abstract: Rust, an emerging programming language with explosive growth, provides a robust type system that enables programmers to write memory-safe and data-race free code. To allow access to a machine's hardware and to support low-level performance optimizations, a second language, Unsafe Rust, is embedded in Rust. It contains support for operations that are difficult to statically check, such as C-style pointers for access to arbitrary memory locations and mutable global variables. When a program uses these features, … Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
20
1

Year Published

2020
2020
2024
2024

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 45 publications
(21 citation statements)
references
References 30 publications
0
20
1
Order By: Relevance
“…In the meantime, more than 10,000 crates have been added to the repository and, in particular, the percentage of unsafe crates dropped from 29% to 23.6%. This finding differs from Evans et al [2020], who observed that the amount of unsafe code in the most downloaded crates slightly increased over 10 months. One possible explanation for these observations is that the most downloaded crates provide the necessary extensions to the language or standard library (for example, an efficient random number generator) that cannot be implemented in safe code and, therefore, the amount of unsafe in the most popular crates does not change while a significant portion of the newly added crates are application code that does not need to use unsafe.…”
Section: Rq 1 (Frequency)contrasting
confidence: 99%
See 3 more Smart Citations
“…In the meantime, more than 10,000 crates have been added to the repository and, in particular, the percentage of unsafe crates dropped from 29% to 23.6%. This finding differs from Evans et al [2020], who observed that the amount of unsafe code in the most downloaded crates slightly increased over 10 months. One possible explanation for these observations is that the most downloaded crates provide the necessary extensions to the language or standard library (for example, an efficient random number generator) that cannot be implemented in safe code and, therefore, the amount of unsafe in the most popular crates does not change while a significant portion of the newly added crates are application code that does not need to use unsafe.…”
Section: Rq 1 (Frequency)contrasting
confidence: 99%
“…Our methodology distinguishes these codebases, concluding that some developers (those of A) aim to apply commonly advocated guidelines, and some do not (those of B). In contrast, the approach of Evans et al [2020] cannot distinguish them: both codebases are possibly unsafe. Furthermore, our study provides an in-depth analysis of the reasons why programmers employ unsafe code, which was not an apparent primary focus of Evans et al [2020] (where this question was explored via a survey rather than by analysing a codebase).…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations
“…The library augments the type safety of the original C++ type system by introducing additional static constraints powered by new types and a new static analyzer. The Rust programming language infuses memory safety into its type system and makes sure that code with memory bugs does not compile [57]- [59]. In Java, the plugable type system [60] denoted through Java annotations allows software developers to statically enforce additional security properties in the code.…”
Section: B Language and Api Hardeningmentioning
confidence: 99%