Global Microprocessor Correctness in the Presence of Transient Execution
Andrew T. Walter, Konstantinos Athanasiou, Panagiotis Manolios

TL;DR
This paper proposes a formal, refinement-based approach to define microprocessor correctness that accounts for transient execution attacks like Meltdown and Spectre, enabling more robust verification of processor security and functionality.
Contribution
It introduces a global correctness notion using refinement theory, including action skipping refinement, and demonstrates how to verify microprocessor models against transient execution vulnerabilities.
Findings
Formal correctness specifications can encompass transient execution attacks.
Action skipping refinement enables automated verification of microprocessor correctness.
Light-weight property-based testing can identify transient execution bugs.
Abstract
Correctness for microprocessors is generally understood to be conformance with the associated instruction set architecture (ISA). This is the basis for one of the most important abstractions in computer science, allowing hardware designers to develop highly-optimized processors that are functionally "equivalent" to an ideal processor that executes instructions atomically. This specification is almost always informal, e.g., commercial microprocessors generally do not come with conformance specifications. In this paper, we advocate for the use of formal specifications, using the theory of refinement. We introduce notions of correctness that can be used to deal with transient execution attacks, including Meltdown and Spectre. Such attacks have shown that ubiquitous microprocessor optimizations, appearing in numerous processors for decades, are inherently buggy. Unlike alternative…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Formal Methods in Verification · Software Testing and Debugging Techniques
