Harris, Sarah, Cooksey, Simon, Vollmer, Michael, Batty, Mark (2023) Rust for Morello: Always-on memory safety, even in unsafe code (experience paper). In: 37th European Conference on Object-Oriented Programming (ECOOP 2023). LIPIcs , 263. 39:1-39:27. Schloss Dagstuhl - Leibniz-Zentrum f\"r Informatik E-ISBN 978-3-95977-281-5. (doi:10.4230/LIPICS.ECOOP.2023.39) (KAR id:106406)
PDF
Publisher pdf
Language: English
This work is licensed under a Creative Commons Attribution 4.0 International License.
|
|
Download this file (PDF/1MB) |
Preview |
Request a format suitable for use with assistive technology e.g. a screenreader | |
Official URL: https://doi.org/10.4230/LIPIcs.ECOOP.2023.39 |
Abstract
Memory safety issues are a serious concern in systems programming. Rust is a systems language that provides memory safety through a combination of a static checks embodied in the type system and ad hoc dynamic checks inserted where this analysis becomes impractical. The Morello prototype architecture from ARM uses capabilities, fat pointers augmented with object bounds information, to catch failures of memory safety. This paper presents a compiler from Rust to the Morello architecture, together with a comparison of the performance of Rust’s runtime safety checks and the hardware-supported checks of Morello. The cost of Morello’s always-on memory safety guarantees is 39% in our 19 benchmark suites from the Rust crates repository (comprising 870 total benchmarks). For this cost, Morello’s capabilities ensure that even unsafe Rust code benefits from memory safety guarantees.
Item Type: | Conference or workshop item (Paper) |
---|---|
DOI/Identification number: | 10.4230/LIPICS.ECOOP.2023.39 |
Projects: | 17715 |
Subjects: | Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, |
Divisions: | Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing |
Funders: | Engineering and Physical Sciences Research Council (https://ror.org/0439y7842) |
Depositing User: | Michael Vollmer |
Date Deposited: | 24 Jun 2024 19:00 UTC |
Last Modified: | 05 Nov 2024 13:12 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/106406 (The current URI for this page, for reference purposes) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):