A Large Project comparing the memory safety of c++ to that of Rust
Option 6 - Rust programming
- Learning and Programming Challenges of Rust: A Mixed-Methods Study
- Cross-Language Attacks
- Rust-lancet: Automated Ownership-Rule-Violation Fixing with Behavior Preservation
- how does Rust prevent common memory errors, like buffer overflow and use-after-free?
- what is the remaining security issues in rust programs?
- what is the main challenges of programming in rust?
- how can we make rust easy to use?
- what is the main idea of rust-lancet? do you think it is useful for rust developers and why?
Our program will be a maze solver. The input will be a text document that contains an 'S', 'F', blank spaces, and '#'. The (S)tart and (F)inish blocks will be the start and end of the BFS algorithm to solve the maze. The output will be text to stdout, which is the solved maze with the path taken.
- write a buggy program with C or C++
- construct an input that will trigger the crash in the C program
- rewrite the program with rust, and show that the program will not crash under the same input