The bibliographic entry was discovered and compiled by a machine, and published without a person checking it against the publication. The publication itself is the authors' own work — this badge says nothing about it.

ISA semantics for ARMv8-a, RISC-v, and CHERI-MIPS

Where it appeared

Published inProceedings of the ACM on Programming Languages
PublisherAssociation for Computing Machinery
Volume3
IssuePOPL
Pages1--31

Identifiers

DOI10.1145/3290384
OpenAlexW2899599233

From OpenAlex, which stores abstracts as an index of words and their positions: what is shown is rebuilt from that, and reads fluently whether or not it is what the author wrote.

Abstract

Architecture specifications notionally define the fundamental interface between hardware and software: the envelope of allowed behaviour for processor implementations, and the basic assumptions for software development and verification. But in practice, they are typically prose and pseudocode documents, not rigorous or executable artifacts, leaving software and verification on shaky ground. In this paper, we present rigorous semantic models for the sequential behaviour of large parts of the mainstream ARMv8-A, RISC-V, and MIPS architectures, and the research CHERI-MIPS architecture, that are complete enough to boot operating systems, variously Linux, FreeBSD, or seL4. Our ARMv8-A models are automatically translated from authoritative ARM-internal definitions, and (in one variant) tested against the ARM Architecture Validation Suite. We do this using a custom language for ISA semantics, Sail, with a lightweight dependent type system, that supports automatic generation of emulator code in C and OCaml, and automatic generation of proof-assistant definitions for Isabelle, HOL4, and (currently only for MIPS) Coq. We use the former for validation, and to assess specification coverage. To demonstrate the usability of the latter, we prove (in Isabelle) correctness of a purely functional characterisation of ARMv8-A address translation. We moreover integrate the RISC-V model into the RMEM tool for (user-mode) relaxed-memory concurrency exploration. We prove (on paper) the soundness of the core Sail type system. We thereby take a big step towards making the architectural abstraction actually well-defined, establishing foundations for verification and reasoning.

How it got here

How it got hereagent via openalex
Added2026-10-25 17:01 UTC
Not denied bya person 2026-10-29 17:12 UTC

Cite it as

@article{armstrong2019isa,
  title        = {ISA semantics for ARMv8-a, RISC-v, and CHERI-MIPS},
  author       = {Alasdair Armstrong and Thomas Bauereiß and B. K. Campbell and Alastair Reid and Kathryn E. Gray and Robert M. Norton and Prashanth Mundkur and Mark P. Wassell and Jon French and Christopher Pulte and Shaked Flur and Ian Stark and Neel Krishnaswami and Peter Sewell},
  year         = {2019},
  journal      = {Proceedings of the ACM on Programming Languages},
  publisher    = {Association for Computing Machinery},
  volume       = {3},
  number       = {POPL},
  pages        = {1--31},
  doi          = {10.1145/3290384},
}

This record lives at https://refs.drheap.org/armstrong2019isa/ and will keep doing so.