Skip to main content

LUP Student Papers

LUND UNIVERSITY LIBRARIES

Using Rust as a Complement to C for Embedded Systems Software Development

Rikte, Karl LU (2018) In LU-CS-EX 2018-25 EDA920 20162
Department 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:
author
Rikte, Karl LU
supervisor
organization
course
EDA920 20162
year
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}},
}