Detailed Models of Instruction Set Architectures From Pseudocode to Formal Semantics


[pdf]

Automated Reasoning Workshop 2018
Cambridge, UK
April 2018

Abstract

Processor instruction set architectures (ISAs) are typically specified using a mixture of prose and pseudocode. We present ongoing work on expressing such specifications rigorously and automatically trans- lating them to interactive theorem prover definitions, making them amenable to mechanised proof. Our ISA descriptions are written in Sail—a custom ISA specification language designed to support idioms from var- ious processor vendor’s pseudocode, with lightweight dependent typing for bitvectors, targeting a variety of use cases including sequential and concurrent ISA semantics. From Sail we aim to portably generate usable theorem prover definitions for multiple provers, including Isabelle, HOL4, and Coq. We are focusing on the full ARMv8.3-A specification, CHERI-MIPS, and RISC-V, together with fragments of IBM POWER and x86.

BibTeX

@article{conf/arw18/armstrong , abstract = {Processor instruction set architectures (ISAs) are typically specified using a mixture of prose and pseudocode. We present ongoing work on expressing such specifications rigorously and automatically trans- lating them to interactive theorem prover definitions, making them amenable to mechanised proof. Our ISA descriptions are written in Sail\textemdash a custom ISA specification language designed to support idioms from var- ious processor vendor’s pseudocode, with lightweight dependent typing for bitvectors, targeting a variety of use cases including sequential and concurrent ISA semantics. From Sail we aim to portably generate usable theorem prover definitions for multiple provers, including Isabelle, HOL4, and Coq. We are focusing on the full ARMv8.3-A specification, CHERI-MIPS, and RISC-V, together with fragments of IBM POWER and x86. } , ar_file = {ARW_18} , ar_shortname = {ARW 18} , authors = {Alasdair Armstrong and Thomas Bauereiss and Brian Campbell and Shaked Flur and Kathryn E. Gray and Prashanth Mundkur and Robert Norton and Christopher Pulte and Alastair Reid and Peter Sewell and Ian Stark and Mark Wassell} , booktitle = {Automated Reasoning Workshop 2018} , file = {arw2018.pdf} , location = {Cambridge, UK} , month = {April} , title = {{D}etailed {M}odels of {I}nstruction {S}et {A}rchitectures: {F}rom {P}seudocode to {F}ormal {S}emantics} , year = {2018} }