MCPcopy Create free account
hub / github.com/MultiFuzz/MultiFuzz / EnabledFeatures

Class EnabledFeatures

hail-fuzz/src/config.rs:44–83  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

42/// Controls which features are enabled or not.
43#[derive(Debug)]
44pub struct EnabledFeatures {
45 /// Use access contexts for multi-stream inputs.
46 pub access_contexts: bool,
47 /// A lightweight static analysis feature that attempts to scan for cases where some bits for a
48 /// load are immediately discarded. Typically level 3 is always the best option. The other
49 /// options are mostly provided for compatibility with old traces.
50 pub resize_load_level: usize,
51 /// Whether havoc should be used for mutation as well as length extension. Should almost always
52 /// be enabled (toggleable for ablation study).
53 pub havoc: bool,
54 /// Whether the input-to-state stage should be enabled.
55 pub cmplog: bool,
56 /// The maximum number of bytes (taken from the end of the stream) that the I2S stage will try
57 /// to perform I2S replacements within.
58 pub max_i2s_bytes: usize,
59 /// Configures whether input-to-state replacements should use strided matches for integer
60 /// types.
61 pub strided_int_matches: bool,
62 /// Whether the colorization stage should be enabled.
63 pub colorization: bool,
64 /// Whether the input-to-state stage should automatically add values to the dictionary.
65 pub auto_dict: bool,
66 /// Whether we should automatically attempt to trim inputs after each execution.
67 pub auto_trim: bool,
68 /// Whether the smart trim stage should be enabled.
69 pub smart_trim: bool,
70 /// Controls whether the fuzzer will use a simplified energy assignment algorithm. Currently we
71 /// do not believe that this makes a significant difference to the fuzzer's performance,
72 /// however 'false' is default since the old algorithm was more thoroughly tested.
73 pub simple_energy_assignment: bool,
74 /// Whether to occasionally check if newly generated inputs are favored (i.e. smaller) compared
75 /// to previous entries.
76 pub add_favored_inputs: bool,
77 /// Whether to increase extensions if we repeatedly reach the end of a stream.
78 pub extension_factor: bool,
79 /// Skip applying certain mutations on prefix bytes shared with the parent.
80 pub skip_prefix: bool,
81 /// Dump JIT function ID mapping for perf analysis.
82 pub dump_jit_mapping: bool,
83}
84
85impl EnabledFeatures {
86 pub fn from_env() -> anyhow::Result<Self> {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected