Hardware/Software Co-Assurance using the Rust Programming Language and ACL2

The work

AuthorsDavid S. Hardin
Editors
Typeinproceedings
Year2022
Also known ashardin2022hardwaresoftware
Citekeyhardin2022hardware

Where it appeared

Published inProceedings of the 17th International Workshop on the ACL2 Theorem Prover and its Applications (ACL2 2022)
SeriesElectronic Proceedings in Theoretical Computer Science
Volume359

Identifiers

arXiv2205.11709 from its landing_page_url
DOI10.4204/eptcs.359.16

Related

Distinct fromangelo1993comparison
Distinct fromrussinoff2020formal

From bibtex.

Abstract

The Rust programming language has garnered significant interest and use as a modern, type-safe, memory-safe, and potentially formally analyzable programming language. Our interest in Rust stems from its potential as a hardware/software co-assurance language, with application to critical systems such as autonomous vehicles. We report on the first known use of Rust as a High-Level Synthesis (HLS) language. Most incumbent HLS languages are a subset of C. A Rust-based HLS brings a single modern, type-safe, and memory-safe expression language for both hardware and software realizations with high assurance. As a a study of the suitability of Rust as an HLS, we have crafted a Rust subset, inspired by Russinoff's Restricted Algorithmic C (RAC), which we have imaginatively named Restricted Algorithmic Rust, or RAR. In our first implementation of a RAR toolchain, we simply transpile the RAR source into RAC. By so doing, we leverage a number of existing hardware/software co-assurance tools with a minimum investment of time and effort. In this paper, we describe the RAR Rust subset, detail our prototype RAR toolchain, and describe the implementation and verification of several representative algorithms and data structures written in RAR, with proofs of correctness conducted using the ACL2 theorem prover.

A copy is held

pdf, 198.7 kB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via bibtex
Added2026-09-17 20:44 UTC
Approved bya person 2026-10-05 21:26 UTC

Filed under

eptcs

Cite it as

@inproceedings{hardin2022hardware,
  title        = {Hardware/Software Co-Assurance using the Rust Programming Language and ACL2},
  author       = {David S. Hardin},
  year         = {2022},
  booktitle    = {Proceedings of the 17th International Workshop on the ACL2 Theorem Prover and its Applications (ACL2 2022)},
  series       = {Electronic Proceedings in Theoretical Computer Science},
  volume       = {359},
  doi          = {10.4204/eptcs.359.16},
}

This record lives at https://refs.drheap.org/hardin2022hardware/ and will keep doing so. It used to be called hardin2022hardwaresoftware, and those addresses still resolve to this one.