Flexible Instruction-Set Semantics via Abstract Monads (Experience Report)
Name
3607833.pdf
Size
277.58 KB
Format
Adobe PDF
Checksum (MD5)
db697b54144e989be77a58d1399e3fab
Author(s) • • • • • •
Bourgeat, Thomas
Clester, Ian
Erbsen, Andres
Gruetter, Samuel
Singh, Pratap
Wright, Andy
Chlipala, Adam
Date Issued
August 30, 2023
Journal
Proceedings of the ACM on Programming Languages
Publisher
ACM
Citation
Bourgeat, Thomas, Clester, Ian, Erbsen, Andres, Gruetter, Samuel, Singh, Pratap et al. 2023. "Flexible Instruction-Set Semantics via Abstract Monads (Experience Report)." Proceedings of the ACM on Programming Languages, 7 (ICFP).
Version
Final published version
Abstract
Instruction sets, from families like x86 and ARM, are at the center of many ambitious formal-methods projects. Many verification, synthesis, programming, and debugging tools rely on formal semantics of instruction sets, but different tools can use semantics in rather different ways. The best-known work applying single semantics across diverse tools relies on domain-specific languages like Sail, where the language and its translation tools are specialized to the realm of instruction sets. In the context of the open RISC-V instruction-set family, we decided to explore a different approach, with semantics written in a carefully chosen subset of Haskell. This style does not depend on any new language translators, relying instead on parameterization of semantics over type-class instances. We have used a single core semantics to support testing, interactive proof, and model checking of both software and hardware, demonstrating that monads and the ability to abstract over them using type classes can support pleasant prototyping of ISA semantics.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution 4.0 International license
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/3607833