Corpus ID: 227011903

RustViz: Interactively Visualizing Ownership and Borrowing

@article{Luo2020RustVizIV,
  title={RustViz: Interactively Visualizing Ownership and Borrowing},
  author={Gongming Luo and Vishnu Vardhan Reddy and Marcelo Almeida and Yingying Zhu and Ke Du and Cyrus Omar},
  journal={ArXiv},
  year={2020},
  volume={abs/2011.09012}
}
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… Expand

Figures from this paper

Benefits and Drawbacks of Adopting a Secure Programming Language: Rust as a Case Study
TLDR
A range of positive features, including good tooling and documentation, benefits for the development lifecycle, and improvement of overall secure coding skills are found, as well as drawbacks including a steep learning curve, limited library support, and concerns about the ability to hire additional Rust developers in the future. Expand

References

SHOWING 1-10 OF 22 REFERENCES
Here We Go Again: Why Is It Difficult for Developers to Learn Another Programming Language?
TLDR
An empirical study of Stack Overflow questions across 18 different programming languages hypothesized that previous knowledge could potentially interfere with learning a new programming language, and found 276 instances of interference that occurred due to faulty assumptions originating from knowledge about a different language. Expand
Identifying Barriers to Adoption for Rust through Online Discourse
TLDR
It was found that certain key features, idioms, and integration patterns in Rust are not easily accessible to new users. Expand
A Review of Generic Program Visualization Systems for Introductory Programming Education
TLDR
It is illustrated that program visualization systems for beginners are often short-lived research prototypes that support the user-controlled viewing of program animations; a recent trend is to support more engaging modes of user interaction. Expand
Intelligent tutoring systems for programming education: a systematic review
TLDR
A systematic review of intelligent tutoring systems to teach introductory programming concepts and how supplementary features are integrated into these systems is given, along with implications for how intelligent programming tutors could be improved by supporting a wider range of supplementary features. Expand
Visualization of Lifetime Constraints in Rust. https://ethz.ch/content/dam/ethz/specialinterest/infk/chair-program-method/pm/documents/Education/Theses/Dominik_Dietler_BA_report.pdf
  • 2018
2019. Rust Lifetime Visualization Ideas
  • Retrieved September
  • 2020
Rewriting the heart of our sync engine
  • Retrieved September
  • 2020
Why Discord is switching from Go to Rust
  • Retrieved September
  • 2020
2019. Borrow visualizer for the Rust Language Service
  • Retrieved September
  • 2019
AWS’ sponsorship of the Rust project
  • Retrieved September
  • 2019
...
1
2
3
...