Published August 16, 2022 | Version 1.0
Software Open

Machine Independent Language formalization and tools

  • 1. KTH Royal Institute of Technology


The Machine Independent Language (MIL) captures microarchitectural features such as out-of-order execution. MIL can be used as a form of abstract microcode language, e.g., as a target language for translating Instruction Set Architecture (ISA) instructions, and for reasoning about microarchitectural features that may cause unwanted information flows, e.g., side channels leaking secret information.

We formalize MIL in the HOL4 theorem prover. The formalization includes the in-order and out-of-order dynamic semantics of MIL, a proof of memory consistency between the two semantics, and a notion of conditional noninterference that rules out trace driven cache-based side channels. We verify functions for executing MIL programs and then refine them to the CakeML language, yielding trustworthy MIL analysis tools both inside and outside HOL4. We devised a semi-automated reasoning strategy for conditional noninterference, which we apply to verify confidentiality of several MIL programs.



Files (573.0 kB)

Name Size Download all
230.9 kB Download
342.1 kB Preview Download

Additional details

Related works