filmov
tv
RustConf 2018 - C2Rust: Migrating Legacy Code to Rust by Per Larsen

Показать описание
RustConf 2018 - C2Rust: Migrating Legacy Code to Rust by Per Larsen
Although Rust is safer and more modern than C/C++, it is still difficult to justify the cost of migrating existing, mature systems code.
This talk will present a trifecta of tools to address the costs and risks of such migration efforts. The first tool is a transpiler which generates structurally equivalent-yet-unsafe Rust code from the input C code. The second is a dynamic analysis tool which runs the original C code alongside the new Rust code to check whether they are performing the same computations. The third is a refactoring tool which helps programmers idiomize the output of our transpiler.
Our aim is to automate many of the steps that are entirely manual when migrating from C to Rust today. However, we do not expect that the migration process will be fully automatic. Therefore, we focus on detecting unexpected discrepancies as the programmer gradually rewrites the transpiled code to make better use of Rust idioms. Our tools are open source and available to anyone.
Additional resources:
Although Rust is safer and more modern than C/C++, it is still difficult to justify the cost of migrating existing, mature systems code.
This talk will present a trifecta of tools to address the costs and risks of such migration efforts. The first tool is a transpiler which generates structurally equivalent-yet-unsafe Rust code from the input C code. The second is a dynamic analysis tool which runs the original C code alongside the new Rust code to check whether they are performing the same computations. The third is a refactoring tool which helps programmers idiomize the output of our transpiler.
Our aim is to automate many of the steps that are entirely manual when migrating from C to Rust today. However, we do not expect that the migration process will be fully automatic. Therefore, we focus on detecting unexpected discrepancies as the programmer gradually rewrites the transpiled code to make better use of Rust idioms. Our tools are open source and available to anyone.
Additional resources:
RustConf 2018 - C2Rust: Migrating Legacy Code to Rust by Per Larsen
RustConf 2018 - Closing Keynote - Using Rust For Game Development by Catherine West
RustConf 2018 - Getting Something for Nothing by James Munns
RustConf 2018 - The Dark Secrets Lurking Inside cargo doc by Quiet Misdreavus
RustConf 2018 - How (not) to introduce Rust at your workplace - Douglas Campos
RustConf 2018 - Closing Keynote by Catherine West
RustConf 2018 - Space, The Rusty Frontier by Ryan Plauche
RustConf 2018 - Project Mentat: a store for evolving data in Rust Delivered by Grisha Kruglov
RustConf 2018 - Embedding Rust in C/C++ by Katharina
RustConf 2018: Integrating Rust into Tor: Successes and Challenges by Isis Lovecruft & Chelsea K...
RustConf 2018 - Benchmarking and Optimization of Rust Libraries by Paul Mason
RustConf 2018 - Using Raft in Rust by Siddon Tang
RustConf 2018 - No Spaghetti: Designing for Understanding by Brandon W. Maister
RustConf 2018 - Writing Crates for Complete Beginners - A Tour of Turtle by Sunjay Varma
RustConf 2018 - Space, The Rusty Frontier by Ryan Plauche
RustConf 2018 - My Little Procedural Macro by Chris Wong
RustConf 2018 - Rust and the Web Platform: A Rookie’s Guide by Sarah Meyer
RustConf 2019 - The Rust 2018 Module System by Josh Triplett
Rust São Paulo - como foi participar da RustConf 2018
Druhé video z rustuj
Rust Legacy быстрый рейд MrRavil
GUADEC 2018 - Federico Mena Quintero - Patterns of refactoring C to Rust
C to Rust - Part 1 - Getting Started
Rust Loading C++ Library through FFI
Комментарии