diff options
author | Cristian Cadar <c.cadar@imperial.ac.uk> | 2013-08-07 13:22:06 +0100 |
---|---|---|
committer | Cristian Cadar <c.cadar@imperial.ac.uk> | 2013-08-07 13:22:06 +0100 |
commit | 363e7ab2d7bfa790b666eac1b48b7b7daf02e5e3 (patch) | |
tree | 6716b850795baa8ae09312e7cc6952f24627624f /lib/Core/Searcher.h | |
parent | 357ecb515baaa018a5b4b611f7cb4000e91315d3 (diff) | |
parent | 939d6874d114f5a39396f28aeb6ebc17a0dc652b (diff) | |
download | klee-363e7ab2d7bfa790b666eac1b48b7b7daf02e5e3.tar.gz |
Merge branch 'bfs' of https://github.com/antiAgainst/klee into antiAgainst-bfs
Diffstat (limited to 'lib/Core/Searcher.h')
-rw-r--r-- | lib/Core/Searcher.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/Core/Searcher.h b/lib/Core/Searcher.h index 58772bbb..79c233c4 100644 --- a/lib/Core/Searcher.h +++ b/lib/Core/Searcher.h @@ -68,7 +68,8 @@ namespace klee { } enum CoreSearchType { - DFS, + DFS, + BFS, RandomState, RandomPath, NURS_CovNew, @@ -94,6 +95,20 @@ namespace klee { } }; + class BFSSearcher : public Searcher { + std::deque<ExecutionState*> states; + + public: + ExecutionState &selectState(); + void update(ExecutionState *current, + const std::set<ExecutionState*> &addedStates, + const std::set<ExecutionState*> &removedStates); + bool empty() { return states.empty(); } + void printName(std::ostream &os) { + os << "BFSSearcher\n"; + } + }; + class RandomSearcher : public Searcher { std::vector<ExecutionState*> states; |