Bounded Model Checking
ConceptBounded Model Checking (BMC) is a hardware and software formal verification technique that restricts analysis to a fixed number of execution steps, reducing model checking to a sequence of satisfiability queries discharged to SAT, QBF, or SMT solvers. It is used in hardware verification frameworks such as riscv-formal and SymbiYosys, in C program model checkers such as CBMC, in specialized workflows for HW/SW co-verification, fault injection, and SEU reliability evaluation, and as a source of SAT benchmarks used to evaluate SAT sampling tools. Application areas include equivalence checking of mutated C-based instruction-set semantics for test-suite generation.
WIKI
Overview
Bounded Model Checking (BMC) is a hardware and software verification technique that limits its analysis to a fixed number of execution steps. Rather than exploring the full reachable state space, BMC checks whether any counterexample to a property exists within a finite bound. In the µArchiFI fault-injection workflow, the BMC bound k is fixed according to the length of the longest program execution trace plus a small safety margin (e.g., a 10-percent increment) to capture possible modifications in the control flow induced by faults.
The result of a BMC run can be one of three outcomes: Proven (the assertion is fully proved), Failure (the model checker produces a counterexample), or Undetermined / Bounded Proven (the tool cannot prove or disprove the assertion within the bounded trace or time). When a counterexample is produced by µArchiFI's external model checker, a VCD file reports precisely where the fault is injected and when the attacker's goal is reached, although understanding the propagation of the fault and its consequences still requires further analysis.
NEIGHBORHOOD
No graph connections found for this entity yet. It may appear in future ingestion runs.
explore full graph →