RustViz: Interactively Visualizing Ownership and Borrowing
Gongming (Gabriel) Luo, Vishnu Reddy, Marcelo Almeida, Yingying Zhu,, Ke Du, Cyrus Omar

TL;DR
RustViz is an interactive visualization tool designed to help learners understand Rust's ownership and borrowing rules through dynamic timelines, addressing the language's learning curve.
Contribution
The paper introduces RustViz, a novel tool that visualizes ownership and borrowing in Rust, aiding education and comprehension of complex memory safety concepts.
Findings
Facilitates understanding of Rust's ownership model
Supports educators in teaching Rust concepts
Aims to improve learning outcomes for Rust learners
Abstract
Rust is a systems programming language that guarantees memory safety without the need for a garbage collector by statically tracking ownership and borrowing events. The associated rules are subtle and unique among industry programming languages, which can make learning Rust more challenging. Motivated by the challenges that Rust learners face, we are developing RustViz, a tool that allows teachers to generate an interactive timeline depicting ownership and borrowing events for each variable in a Rust code example. These visualizations are intended to help Rust learners develop an understanding of ownership and borrowing by example. This paper introduces RustViz by example, shows how teachers can use it to generate visualizations, describes learning goals, and proposes a study designed to evaluate RustViz based on these learning goals.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Software Reliability and Analysis Research
