Remove spec interpreter fuzz target temporarily (#3399)

This commit removes the `differential_spec` fuzz target for now,
although this removal is intended to be temporary. We have #3251 to
track re-enabling the spec interpreter in a way that it won't time out,
and additionally the spec interpreter is also failing to build with
ocaml on oss-fuzz so that will also need to be investigated when
re-enabling.
This commit is contained in:
Alex Crichton
2021-09-30 13:09:19 -05:00
committed by GitHub
parent b695ca4f9c
commit 25d3fa4d7b
4 changed files with 6 additions and 41 deletions

View File

@@ -52,12 +52,6 @@ path = "fuzz_targets/differential.rs"
test = false
doc = false
[[bin]]
name = "differential_spec"
path = "fuzz_targets/differential_spec.rs"
test = false
doc = false
[[bin]]
name = "differential_wasmi"
path = "fuzz_targets/differential_wasmi.rs"

View File

@@ -1,31 +0,0 @@
#![no_main]
use libfuzzer_sys::fuzz_target;
use std::sync::atomic::{AtomicUsize, Ordering::SeqCst};
use wasmtime_fuzzing::{generators, oracles};
// Keep track of how many WebAssembly modules we actually executed (i.e. ran to
// completion) versus how many were tried.
static TRIED: AtomicUsize = AtomicUsize::new(0);
static EXECUTED: AtomicUsize = AtomicUsize::new(0);
fuzz_target!(|data: (
generators::Config,
wasm_smith::ConfiguredModule<oracles::SingleFunctionModuleConfig<false, false>>
)| {
let (config, mut wasm) = data;
wasm.module.ensure_termination(1000);
let tried = TRIED.fetch_add(1, SeqCst);
let executed = match oracles::differential_spec_execution(&wasm.module.to_bytes(), &config) {
Some(_) => EXECUTED.fetch_add(1, SeqCst),
None => EXECUTED.load(SeqCst),
};
if tried > 0 && tried % 1000 == 0 {
println!(
"=== Execution rate ({} executed modules / {} tried modules): {}% ===",
executed,
tried,
executed as f64 / tried as f64 * 100f64
)
}
});