Using Rust as a Complement to C for Embedded Systems Software Development
(2018) In LU-CS-EX 2018-25 EDA920 20162Department of Computer Science
- Abstract
- Rust aims to bring safety to low-level programming by using zero-cost ab-
stractions. These provide, among other things, guaranteed memory safety and
threading without data races.
Garbage collected languages have become popular to guarantee safety, but
in performance critical, memory limited or real time applications, it is not an
ideal solution. Rust is safe and still has manual memory management, with
strict rules.
This report presents a case study of using the Rust language and associated
tooling such as debuggers and IDEs in practise. The study was carried out by
porting 5000+ lines of an embedded Linux daemon to Rust.
Rust upholds the safety and zero-cost claims. Using Rust has been found
to aid in achieving an... (More) - Rust aims to bring safety to low-level programming by using zero-cost ab-
stractions. These provide, among other things, guaranteed memory safety and
threading without data races.
Garbage collected languages have become popular to guarantee safety, but
in performance critical, memory limited or real time applications, it is not an
ideal solution. Rust is safe and still has manual memory management, with
strict rules.
This report presents a case study of using the Rust language and associated
tooling such as debuggers and IDEs in practise. The study was carried out by
porting 5000+ lines of an embedded Linux daemon to Rust.
Rust upholds the safety and zero-cost claims. Using Rust has been found
to aid in achieving an improved, shorter, more expressive architecture. The
learning curve is a bit steep, but productivity has been found to be high once
learned. Tooling support is mature, but IDEs are not yet full featured. (Less) - Popular Abstract (Swedish)
- Programmeringsspråket Rust utvecklas av en grupp som anser att det saknas språk
som passar lågnivåutveckling och samtidigt är säkra. Rust har utvärderats genom att översätta 5000+ rader C-kod i ett inbyggt system. Rust levererar säkerhet, är smidigt och är inte resursintensivt.
Please use this url to cite or link to this publication:
http://lup.lub.lu.se/student-papers/record/8938297
- author
- Rikte, Karl LU
- supervisor
- organization
- course
- EDA920 20162
- year
- 2018
- type
- H2 - Master's Degree (Two Years)
- subject
- keywords
- Rust, language review, memory safety, smart pointers, productivity, cross-compilation
- publication/series
- LU-CS-EX 2018-25
- report number
- LU-CS-EX 2018-25
- ISSN
- 1650-2884
- language
- English
- id
- 8938297
- date added to LUP
- 2019-02-15 13:39:37
- date last changed
- 2019-02-15 13:39:37
@misc{8938297, abstract = {{Rust aims to bring safety to low-level programming by using zero-cost ab- stractions. These provide, among other things, guaranteed memory safety and threading without data races. Garbage collected languages have become popular to guarantee safety, but in performance critical, memory limited or real time applications, it is not an ideal solution. Rust is safe and still has manual memory management, with strict rules. This report presents a case study of using the Rust language and associated tooling such as debuggers and IDEs in practise. The study was carried out by porting 5000+ lines of an embedded Linux daemon to Rust. Rust upholds the safety and zero-cost claims. Using Rust has been found to aid in achieving an improved, shorter, more expressive architecture. The learning curve is a bit steep, but productivity has been found to be high once learned. Tooling support is mature, but IDEs are not yet full featured.}}, author = {{Rikte, Karl}}, issn = {{1650-2884}}, language = {{eng}}, note = {{Student Paper}}, series = {{LU-CS-EX 2018-25}}, title = {{Using Rust as a Complement to C for Embedded Systems Software Development}}, year = {{2018}}, }