License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ITP.2022.20
URN: urn:nbn:de:0030-drops-167295
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2022/16729/
Go to the corresponding LIPIcs Volume Portal


Kanabar, Hrutvik ; Fox, Anthony C. J. ; Myreen, Magnus O.

Taming an Authoritative Armv8 ISA Specification: L3 Validation and CakeML Compiler Verification

pdf-format:
LIPIcs-ITP-2022-20.pdf (0.8 MB)


Abstract

Machine-readable specifications for the Armv8 instruction set architecture have become publicly available as part of Arm’s release processes, providing an official and unambiguous source of truth for the semantics of Arm instructions. To date, compiler and machine code verification efforts have made use of unofficial theorem-proving-friendly specifications of Armv8, e.g. CakeML uses an L3-based specification. The validity of these verification efforts hinges upon their unofficial ISA specifications being valid with respect to the official Arm specification.
Leveraging the Sail language ecosystem, we bridge this validation gap by formally verifying that an L3-based specification simulates the official Arm specification using the HOL4 interactive theorem prover. We exercise this simulation by proving a novel compiler correctness result for CakeML with respect to Arm’s official specification of the Armv8.6 A-class instruction set.

BibTeX - Entry

@InProceedings{kanabar_et_al:LIPIcs.ITP.2022.20,
  author =	{Kanabar, Hrutvik and Fox, Anthony C. J. and Myreen, Magnus O.},
  title =	{{Taming an Authoritative Armv8 ISA Specification: L3 Validation and CakeML Compiler Verification}},
  booktitle =	{13th International Conference on Interactive Theorem Proving (ITP 2022)},
  pages =	{20:1--20:22},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-252-5},
  ISSN =	{1868-8969},
  year =	{2022},
  volume =	{237},
  editor =	{Andronick, June and de Moura, Leonardo},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/opus/volltexte/2022/16729},
  URN =		{urn:nbn:de:0030-drops-167295},
  doi =		{10.4230/LIPIcs.ITP.2022.20},
  annote =	{Keywords: Compiler verification, ISA specification, HOL4, interactive theorem proving}
}

Keywords: Compiler verification, ISA specification, HOL4, interactive theorem proving
Collection: 13th International Conference on Interactive Theorem Proving (ITP 2022)
Issue Date: 2022
Date of publication: 03.08.2022
Supplementary Material: Specifications and proofs in the HOL4 interactive theorem prover.
Software (ISA specifications): https://github.com/HOL-Theorem-Prover/armv8.6-asl-snapshot
Software (proofs): https://github.com/HOL-Theorem-Prover/HOL/pull/981
Software (proofs): https://github.com/CakeML/cakeml/pull/858


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI