about summary refs log tree commit diff homepage
path: root/lib/Core/Searcher.h
diff options
context:
space:
mode:
authorTimotej Kapus <tk1713@ic.ac.uk>2019-12-02 15:05:03 +0000
committerMartinNowack <2443641+MartinNowack@users.noreply.github.com>2019-12-12 16:17:09 +0000
commitebd3eb0ec11b053ddf5eee44c1217436948279d9 (patch)
tree640f1a1832b9ae6b4b18fd4815379df4614f2f93 /lib/Core/Searcher.h
parent0de67b9f0c3f7f331f873f19561aef311d2bed4a (diff)
downloadklee-ebd3eb0ec11b053ddf5eee44c1217436948279d9.tar.gz
[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).
Diffstat (limited to 'lib/Core/Searcher.h')
-rw-r--r--lib/Core/Searcher.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Core/Searcher.h b/lib/Core/Searcher.h
index 13941af7..f1e093db 100644
--- a/lib/Core/Searcher.h
+++ b/lib/Core/Searcher.h
@@ -78,6 +78,7 @@ namespace klee {
       NURS_CovNew,
       NURS_MD2U,
       NURS_Depth,
+      NURS_RP,
       NURS_ICnt,
       NURS_CPICnt,
       NURS_QC
@@ -130,6 +131,7 @@ namespace klee {
   public:
     enum WeightType {
       Depth,
+      RP,
       QueryCost,
       InstCount,
       CPInstCount,
@@ -157,6 +159,7 @@ namespace klee {
       os << "WeightedRandomSearcher::";
       switch(type) {
       case Depth              : os << "Depth\n"; return;
+      case RP                 : os << "RandomPath\n"; return;
       case QueryCost          : os << "QueryCost\n"; return;
       case InstCount          : os << "InstCount\n"; return;
       case CPInstCount        : os << "CPInstCount\n"; return;