From ebd3eb0ec11b053ddf5eee44c1217436948279d9 Mon Sep 17 00:00:00 2001 From: Timotej Kapus Date: Mon, 2 Dec 2019 15:05:03 +0000 Subject: [Searchers] Remove weight from es, add nurs_depth Having both weight and depth in execution state is wasteful, therefore this patch removes weight. The nurs:depth searcher is replaced by nurs:rp, which uses pow to compute the weight A new nurs:depth searcher is introduced that biases the search with depth, making it the only other searcher that prefers to go deep (similar to dfs). --- lib/Core/ExecutionState.cpp | 5 ----- 1 file changed, 5 deletions(-) (limited to 'lib/Core/ExecutionState.cpp') diff --git a/lib/Core/ExecutionState.cpp b/lib/Core/ExecutionState.cpp index 15003b0e..60715b33 100644 --- a/lib/Core/ExecutionState.cpp +++ b/lib/Core/ExecutionState.cpp @@ -69,7 +69,6 @@ ExecutionState::ExecutionState(KFunction *kf) : pc(kf->instructions), prevPC(pc), - weight(1), depth(0), instsSinceCovNew(0), @@ -111,7 +110,6 @@ ExecutionState::ExecutionState(const ExecutionState& state): constraints(state.constraints), queryCost(state.queryCost), - weight(state.weight), depth(state.depth), pathOS(state.pathOS), @@ -141,9 +139,6 @@ ExecutionState *ExecutionState::branch() { falseState->coveredNew = false; falseState->coveredLines.clear(); - weight *= .5; - falseState->weight -= weight; - return falseState; } -- cgit 1.4.1