Overview
Explore a comprehensive conference talk from RustConf 2018 that delves into C2Rust, a set of tools designed to facilitate the migration of legacy code to Rust. Learn about the three key components: a transpiler that generates structurally equivalent Rust code from C, a dynamic analysis tool for comparing C and Rust code execution, and a refactoring tool to help idiomize transpiled output. Discover how these tools aim to automate many manual steps in the C to Rust migration process, while focusing on detecting discrepancies during gradual code rewriting. Gain insights into the project's goals, limitations, and practical applications through demonstrations, code examples, and additional resources. Understand the potential impact of C2Rust on modernizing existing systems code and improving safety in software development.
Syllabus
Intro
Legal Disclaimer
Introduction
Team
Why C2Rust
Why Rust
The Flow
Goals
C2Rust
Invoke the compiler
Limitations
Web Demo
Docker Vagrant
Build Translator
Transpiler
Rust Output
CrossCheck Tool
CrossCheck Example
CrossCheck Options
Crosschecking
Logbased Crosschecking
Pie in the Sky
Work with us
Github
Taught by
Rust