reduce state space by ignoring lower priorities
This commit is contained in:
parent
fabf746c4c
commit
2dfb5f853d
@ -5,7 +5,7 @@ authors = ["Alwin Berger <alwin.berger@tu-dortmund.de>"]
|
|||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["std", "snapshot_fast", "restarting", "do_hash_notify_state", "do_hash_notify_value", "config_stg", "fuzz_int", "shortcut", "trace_job_response_times" ]
|
default = ["std", "snapshot_fast", "restarting", "do_hash_notify_state", "do_hash_notify_value", "config_stg", "fuzz_int", "shortcut", "trace_job_response_times", "observe_systemstate_unordered" ]
|
||||||
std = []
|
std = []
|
||||||
# Exec environemnt basics
|
# Exec environemnt basics
|
||||||
snapshot_restore = []
|
snapshot_restore = []
|
||||||
@ -19,6 +19,7 @@ shortcut = []
|
|||||||
observe_edges = [] # observe cfg edges
|
observe_edges = [] # observe cfg edges
|
||||||
observe_hitcounts = [ "observe_edges" ] # reduces edge granularity
|
observe_hitcounts = [ "observe_edges" ] # reduces edge granularity
|
||||||
observe_systemstate = []
|
observe_systemstate = []
|
||||||
|
observe_systemstate_unordered = []
|
||||||
do_hash_notify_state = []
|
do_hash_notify_state = []
|
||||||
do_hash_notify_value = []
|
do_hash_notify_value = []
|
||||||
trace_job_response_times = [ "trace_stg" ]
|
trace_job_response_times = [ "trace_stg" ]
|
||||||
|
@ -2,7 +2,7 @@ import csv
|
|||||||
import os
|
import os
|
||||||
envvars:
|
envvars:
|
||||||
"BENCHDIR"
|
"BENCHDIR"
|
||||||
def_flags="--release --no-default-features --features std,snapshot_fast,restarting,do_hash_notify_state,do_hash_notify_value,fuzz_int,trace_job_response_times"
|
def_flags="--release --no-default-features --features std,snapshot_fast,restarting,do_hash_notify_state,do_hash_notify_value,fuzz_int,trace_job_response_times,observe_systemstate_unordered"
|
||||||
benchdir=os.environ["BENCHDIR"]
|
benchdir=os.environ["BENCHDIR"]
|
||||||
RUNTIME=(3600*24)
|
RUNTIME=(3600*24)
|
||||||
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
use hashbrown::HashSet;
|
use hashbrown::HashSet;
|
||||||
use libafl::inputs::Input;
|
use libafl::inputs::Input;
|
||||||
/// Feedbacks organizing SystemStates as a graph
|
/// Feedbacks organizing SystemStates as a graph
|
||||||
|
@ -94,6 +94,13 @@ pub(crate) fn refine_system_states(
|
|||||||
.collect();
|
.collect();
|
||||||
collector.append(&mut tmp);
|
collector.append(&mut tmp);
|
||||||
}
|
}
|
||||||
|
#[cfg(feature = "observe_systemstate_unordered")]
|
||||||
|
{
|
||||||
|
// respect the order of the first ``lookahead`` tasks and sort the rest by task name
|
||||||
|
const lookahead : usize = 2;
|
||||||
|
collector.get_mut(lookahead..).map(|x| x.sort_by(|a, b| a.task_name.cmp(&b.task_name)));
|
||||||
|
|
||||||
|
}
|
||||||
// collect delay list
|
// collect delay list
|
||||||
let mut delay_list: Vec<RefinedTCB> =
|
let mut delay_list: Vec<RefinedTCB> =
|
||||||
tcb_list_to_vec_cached(i.delay_list, &mut i.dumping_ground)
|
tcb_list_to_vec_cached(i.delay_list, &mut i.dumping_ground)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user