TY - JOUR
T1 - System programming in Rust
T2 - 6th Brazilian Symposium on Computing System Engineering, SBESC 2016
AU - Balasubramanian, Abhiram
AU - Baranowski, Marek S.
AU - Burtsev, Anton
AU - Panda, Aurojit
AU - Rakamarić, Zvonimir
AU - Ryzhyk, Leonid
N1 - Funding Information:
We thank the anonymous HotOS reviewers. This material is partially based upon work supported by the National Science Foundation under Grants No. 1319076 and No. 1527526.
Publisher Copyright:
© Copyright 2016 by the Authors.
PY - 2017/9/11
Y1 - 2017/9/11
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=85058988614&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85058988614&partnerID=8YFLogxK
U2 - 10.1145/3139645.3139660
DO - 10.1145/3139645.3139660
M3 - Conference article
AN - SCOPUS:85058988614
SN - 0163-5980
VL - 51
SP - 94
EP - 99
JO - Operating Systems Review (ACM)
JF - Operating Systems Review (ACM)
IS - 1
Y2 - 1 November 2016 through 4 November 2016
ER -