SEPLOct 3, 2021

Garbage Collection Makes Rust Easier to Use: A Randomized Controlled Trial of the Bronze Garbage Collector

arXiv:2110.01098v21 citations
Originality Incremental advance
AI Analysis

This addresses usability challenges for Rust programmers, particularly in managing ownership and borrowing, though it is incremental as it adds an optional feature to an existing language.

The authors tackled the problem of Rust's complexity by designing Bronze, an optional garbage collector, and found in a randomized controlled trial with 428 students that Bronze users were more likely to complete a complex aliasing task and required about a third of the time (4 hours vs. 12 hours) compared to non-users.

Rust is a general-purpose programming language that is both type- and memory-safe. Rust does not use a garbage collector, but rather achieves these properties through a sophisticated, but complex, type system. Doing so makes Rust very efficient, but makes Rust relatively hard to learn and use. We designed Bronze, an optional, library-based garbage collector for Rust. To see whether Bronze could make Rust more usable, we conducted a randomized controlled trial with volunteers from a 633-person class, collecting data from 428 students in total. We found that for a task that required managing complex aliasing, Bronze users were more likely to complete the task in the time available, and those who did so required only about a third as much time (4 hours vs. 12 hours). We found no significant difference in total time, even though Bronze users re-did the task without Bronze afterward. Surveys indicated that ownership, borrowing, and lifetimes were primary causes of the challenges that users faced when using Rust.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes