Sail
ToolFirst seen 6/2/2026
Last seen 9/5/2026
Evidence 28 chunks
NEIGHBORHOOD
4 nodes · 6 edgesgraph · Sail · depth=1
RELATIONSHIPS
23 connectionsTestRIG uses the Sail model as its golden reference for verification.
Brian Campbell has begun work on a Sail-OCaml VEngine with direct access to Sail RISC-V model data structures.
Sail provides a golden RISC-V model used as the reference in TestRIG.
Minimally Invasive Generation of RISC-V Instruction Set Simulators from Formal ISA Models ← compares with 90% 2e
The paper compares its approach with Sail as prior work
Sail is a DSL for describing formal ISA semantics
An integrated concurrency and core-ISA architectural envelope definition, and test oracle, for IBM POWER multiprocessors ← introduces 100% 2e
The paper introduces Sail as a new instruction description language.
Sail implements the concept of an instruction description language.
Sail includes an interpreter defined in Lem.
Sail is embedded in the Lem metalanguage and the Sail interpreter is written in Lem.
The Sail model implements the RVFI-DII interface.
Sail can serve as a reference model for architectural verification of RISC-V processors.
The ISA semantics paper uses the SAIL language for specifying instruction set semantics.
The ACT4 framework uses the Sail reference model to generate expected results.
TestRIG evaluates the Sail model as a reference implementation.
Sail serves as the golden model for RISC-V verification in TestRIG.
Sail can be built with CHERI support for evaluation of CHERI extensions.
Mutation-based testing introduces artificial bugs into the Sail model to measure test adequacy.
The Sail model includes a CHERI function that is tested via mutation-based testing.
Sail provides a correct-by-definition executable simulator for RISC-V.
Registered Report: Generating Test Suites for GPU Instruction Sets through Mutation and Equivalence Checking ← uses 80% 1e
The paper mentions that C programs can be extracted from formal semantics encoded in SAIL.
Sail JAL semantics is part of the Sail model implementation.
Mutation coverage is implemented by modifying Sail code to simulate bugs.
Sail implements a type system for checking instruction descriptions.