Loading & Initializing TSFFS

Before TSFFS can be used, the module must be loaded, an instance of the fuzzer must be created and instantiated, and the fuzzer must be configured for your target.

Loading the Module

The TSFFS module can be loaded by running (in a SIMICS script):

load-module tsffs

Or, in a Python script:

SIM_load_module("tsffs")

Initializing the Fuzzer

"The Fuzzer" is an instance of the tsffs class, declared in the tsffs module. The tsffs class can only be instantiated once in a given simulation.

This can be done by running (in a SIMICS script):

init-tsffs

Alternatively, in a Python script, you can write:

tsffs_cls = SIM_get_class("tsffs")

And in the Python script, once we have the tsffs_cls an instance can be created with:

tsffs = SIM_create_object(tsffs_cls, "tsffs", [])

The fuzzer instance is now created and ready to configure and use.

Configuring the Fuzzer

The fuzzer is configured via various attributes, many of which have default values. You can view the list of configuration settings at runtime by running:

@print(*tsffs.attributes, sep="\n")

Most settings can be set from Python scripting, for example the timeout can be set to 3 seconds with:

@tsffs.timeout = 3.0