Skip to content
STIMSMITH

Interrupt and Exception Injection

Technique WIKI v1 · 5/26/2026

Interrupt and Exception Injection is an RTL-fuzzing input-generation technique for inserting interruptions and exceptions into generated CPU test inputs. In the INSTILLER RTL fuzzer, this technique is used to make fuzzing inputs more realistic and to address limitations in prior work that could not simulate realistic interruptions well.

Interrupt and Exception Injection

Overview

Interrupt and Exception Injection is a technique used during RTL-fuzzing input generation to insert interruptions and exceptions into generated inputs. The technique is described in the context of INSTILLER, an RTL fuzzer for CPU bug detection, where it is used to solve the problem of inserting interruptions and exceptions while generating fuzzing inputs. [Definition and placement]

Motivation

The motivating problem is realism in CPU RTL fuzzing. The INSTILLER paper states that related work could not simulate realistic interruptions well, and presents INSTILLER as addressing that limitation by inserting interruptions and exceptions during input generation. [Motivation]

This fits into a broader hardware-verification setting: bugs can exist in hardware such as CPUs, and unlike software bugs, these hardware bugs need to be detected before deployment. [Hardware bug detection context]

Use in INSTILLER

INSTILLER, short for Instruction Distiller, is presented as an RTL fuzzer based on ant colony optimization. Its workflow includes multiple mechanisms: instruction distillation using a variant of ant colony optimization, insertion of interruptions and exceptions during input generation, and hardware-based seed selection and mutation strategies. [INSTILLER context]

Within that system, Interrupt and Exception Injection is not described as a standalone fuzzer; it is one part of the input-generation strategy that aims to make generated RTL fuzzing inputs more realistic. [Definition and placement]

Reported system-level results

The available evidence reports results for INSTILLER as a whole, not an isolated ablation of Interrupt and Exception Injection. In experiments against state-of-the-art fuzzing work on real-world target CPU cores, INSTILLER achieved 29.4% more coverage than DiFuzzRTL and detected 17.0% more mismatches. The same abstract reports that its VACO-based distillation generated 79.3% shorter input instructions than DiFuzzRTL and improved execution speed by 6.7% on average. [INSTILLER results]

Scope and limitations

Based on the available evidence, Interrupt and Exception Injection should be understood specifically as a technique for inserting interruptions and exceptions into generated RTL-fuzzing inputs. The evidence supports its role inside INSTILLER and its motivation in realistic interruption simulation, but does not provide lower-level implementation details such as injection timing, exception classes, interrupt sources, or architectural handling semantics.