Visualizing and Explaining Rust's Ownership Model
Rust has succeeded in breaking ownership out of academia. Yet, while there is a thriving community of Rust programmers, mounting evidence shows that Rust’s ownership model still poses a serious barrier to adoption both for new and experienced developers. This is an instance of a more general problem: when you invent a fancy type system, how are you supposed to teach it to people? In this talk, I will describe our method of improving the pedagogy of Rust’s type system. Specifically, we (a) investigated why developers struggle with ownership, (b) developed a new way to visualize how Rust’s ownership analyzer “sees” a program, and (c) integrated this visualization into a new pedagogy of ownership that can explain phenomena like soundness vs. completeness and field-sensitivity to the typical Rust learner. We evaluated this approach through a large-scale field deployment into a popular online Rust textbook, finding that the pedagogy improved learning outcomes by roughly one letter grade on an exam of difficult ownership-related questions.
Slides (2024-10-21-IWACO_Aquascope.pdf) | 8.93MiB |
Mon 21 OctDisplayed time zone: Pacific Time (US & Canada) change
14:00 - 15:30 | |||
14:00 60mKeynote | Visualizing and Explaining Rust's Ownership Model IWACO Will Crichton Brown University File Attached | ||
15:00 30mTalk | Ordered Types for Typestate IWACO Peter Thiemann University of Freiburg, Germany |