RustViz: Interactively Visualizing Ownership and Borrowing

11/18/2020
by   Gongming, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/28/2019

Programming with Timespans in Interactive Visualizations

Modern interactive visualizations are akin to distributed systems, where...
research
04/24/2020

Retrofitting Parallelism onto OCaml

OCaml is an industrial-strength, multi-paradigm programming language, wi...
research
07/20/2019

Towards meta-interpretive learning of programming language semantics

We introduce a new application for inductive logic programming: learning...
research
08/29/2022

Common Patterns in Block-Based Robot Programs

Programmable robots are engaging and fun to play with, interact with the...
research
04/28/2020

How the deprecation of Java applets affected online visualization frameworks – a case study

The JavaView visualization framework was designed at the end of the 1990...
research
04/19/2022

ITSS: Interactive Web-Based Authoring and Playback Integrated Environment for Programming Tutorials

Video-based programming tutorials are a popular form of tutorial used by...
research
09/08/2023

A Grounded Conceptual Model for Ownership Types in Rust

Programmers learning Rust struggle to understand ownership types, Rust's...

Please sign up or login with your details

Forgot password? Click here to reset