System Programming in Rust

Beyond Safety

Abhiram Balasubramanian, Marek S. Baranowski, Anton Burtsev, Aurojit Panda, Zvonimir Rakamari, Leonid Ryzhyk

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish (US)
Title of host publicationHotOS 2017 - Proceedings of the 16th Workshop on Hot Topics in Operating Systems
PublisherIEEE Computer Society
Pages156-161
Number of pages6
VolumePart F129307
ISBN (Electronic)9781450350686
DOIs
StatePublished - May 7 2017
Event16th Workshop on Hot Topics in Operating Systems, HotOS 2017 - Whistler, Canada
Duration: May 7 2017May 10 2017

Other

Other16th Workshop on Hot Topics in Operating Systems, HotOS 2017
CountryCanada
CityWhistler
Period5/7/175/10/17

Fingerprint

Computer systems programming
Computer programming languages
Costs

ASJC Scopus subject areas

  • Computer Science(all)

Cite this

Balasubramanian, A., Baranowski, M. S., Burtsev, A., Panda, A., Rakamari, Z., & Ryzhyk, L. (2017). System Programming in Rust: Beyond Safety. In HotOS 2017 - Proceedings of the 16th Workshop on Hot Topics in Operating Systems (Vol. Part F129307, pp. 156-161). IEEE Computer Society. https://doi.org/10.1145/3102980.3103006

System Programming in Rust : Beyond Safety. / Balasubramanian, Abhiram; Baranowski, Marek S.; Burtsev, Anton; Panda, Aurojit; Rakamari, Zvonimir; Ryzhyk, Leonid.

HotOS 2017 - Proceedings of the 16th Workshop on Hot Topics in Operating Systems. Vol. Part F129307 IEEE Computer Society, 2017. p. 156-161.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Balasubramanian, A, Baranowski, MS, Burtsev, A, Panda, A, Rakamari, Z & Ryzhyk, L 2017, System Programming in Rust: Beyond Safety. in HotOS 2017 - Proceedings of the 16th Workshop on Hot Topics in Operating Systems. vol. Part F129307, IEEE Computer Society, pp. 156-161, 16th Workshop on Hot Topics in Operating Systems, HotOS 2017, Whistler, Canada, 5/7/17. https://doi.org/10.1145/3102980.3103006
Balasubramanian A, Baranowski MS, Burtsev A, Panda A, Rakamari Z, Ryzhyk L. System Programming in Rust: Beyond Safety. In HotOS 2017 - Proceedings of the 16th Workshop on Hot Topics in Operating Systems. Vol. Part F129307. IEEE Computer Society. 2017. p. 156-161 https://doi.org/10.1145/3102980.3103006
Balasubramanian, Abhiram ; Baranowski, Marek S. ; Burtsev, Anton ; Panda, Aurojit ; Rakamari, Zvonimir ; Ryzhyk, Leonid. / System Programming in Rust : Beyond Safety. HotOS 2017 - Proceedings of the 16th Workshop on Hot Topics in Operating Systems. Vol. Part F129307 IEEE Computer Society, 2017. pp. 156-161
@inproceedings{7c7ec5443cc14664aa544da991e75ceb,
title = "System Programming in Rust: Beyond Safety",
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.",
author = "Abhiram Balasubramanian and Baranowski, {Marek S.} and Anton Burtsev and Aurojit Panda and Zvonimir Rakamari and Leonid Ryzhyk",
year = "2017",
month = "5",
day = "7",
doi = "10.1145/3102980.3103006",
language = "English (US)",
volume = "Part F129307",
pages = "156--161",
booktitle = "HotOS 2017 - Proceedings of the 16th Workshop on Hot Topics in Operating Systems",
publisher = "IEEE Computer Society",

}

TY - GEN

T1 - System Programming in Rust

T2 - Beyond Safety

AU - Balasubramanian, Abhiram

AU - Baranowski, Marek S.

AU - Burtsev, Anton

AU - Panda, Aurojit

AU - Rakamari, Zvonimir

AU - Ryzhyk, Leonid

PY - 2017/5/7

Y1 - 2017/5/7

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=85027989477&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85027989477&partnerID=8YFLogxK

U2 - 10.1145/3102980.3103006

DO - 10.1145/3102980.3103006

M3 - Conference contribution

VL - Part F129307

SP - 156

EP - 161

BT - HotOS 2017 - Proceedings of the 16th Workshop on Hot Topics in Operating Systems

PB - IEEE Computer Society

ER -