System Programming in Rust: Beyond Safety

Share

Abhiram Balasubramanian, Marek S. Baranowski, Anton Burtsev, Aurojit Panda, Zvonimir Rakamaric, Leonid Ryzhyk. 16th Workshop on Hot Topics in Operating Systems (HotOS 2017), Whistler, Canada.
[pdf] [bib]

Abstract: Rust is a new system programming language that offers a practical and safe alternative to C. Rust is unique in that it enforces safety without runtime overhead, most importantly, without the overhead of garbage collection. While zero-cost safety is remarkable on its own, we argue that the superpowers of Rust go beyond safety. In particular, Rust’s linear type system enables capabilities that cannot be implemented efficiently in traditional languages, both safe and unsafe, and that dramatically improve security and reliability of system software. We show three examples of such capabilities: zero-copy software fault isolation, efficient static information flow analysis, and automatic checkpointing. While these capabilities have been in the spotlight of systems research for a long time, their practical use is hindered by high cost and complexity. We argue that with the adoption of Rust these mechanisms will become commoditized.

Bibtex:

@inproceedings{hotos2017-bbbprr,
  author = {Abhiram Balasubramanian and Marek S. Baranowski and Anton Burtsev and
    Aurojit Panda and Zvonimir Rakamari\'c and Leonid Ryzhyk},
  title = {System Programming in {Rust}: Beyond Safety},
  booktitle = {Proceedings of the 16th Workshop on Hot Topics in
    Operating Systems (HotOS)},
  year = {2017},
  note = {to appear},
}