Overview
Seed selection is a critical step in fuzzing, alongside mutation. In the context of CPU RTL fuzzing, the Instiller work identifies a gap in prior fuzzing approaches: previous work did not combine seed selection and mutation with hardware features well, and one referenced CPU-fuzzing approach did not consider seed selection when fuzzing the CPU. The paper argues that omitting hardware-related techniques limits fuzzing performance for CPU RTL testing. [C1]
Role in CPU RTL fuzzing
For RTL fuzzing, seed selection is treated as part of a hardware-aware fuzzing strategy. Instiller proposes hardware-related seed selection and mutation strategies to improve fuzzing performance in RTL fuzzing. [C2]
In Instiller's seed-selection design, both basic fuzzing heuristics and hardware heuristics are considered. Examples of hardware heuristics named in the evidence include special instructions and registers. [C3]
Relationship to mutation
The evidence discusses seed selection together with mutation as paired fuzzing steps. Instiller's mutation strategies are also hardware-related; for example, the paper mentions insertion or deletion based on input instruction length. Together, the seed selection and mutation strategies are intended to combine fuzzing with hardware characteristics and address drawbacks of previous tools. [C4]
Reported evaluation context
Instiller is the prototype that incorporates these techniques along with other contributions, including input instruction distillation and realistic interruption/exception handling. In the reported evaluation, Instiller increased coverage by 29.4%, produced inputs 79.3% shorter than DiFuzzRTL for input instruction distillation, found 17.0% more mismatches in the targets, and achieved a 6.7% average execution-speed increase from input instruction distillation. These results evaluate the overall system and its proposed techniques, not seed selection in isolation. [C5]