All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
klee::MergingSearcher Class Reference

#include <Searcher.h>

Inheritance diagram for klee::MergingSearcher:
Collaboration diagram for klee::MergingSearcher:

Public Member Functions

 MergingSearcher (Executor &executor, Searcher *baseSearcher)
 ~MergingSearcher ()
ExecutionStateselectState ()
void update (ExecutionState *current, const std::set< ExecutionState * > &addedStates, const std::set< ExecutionState * > &removedStates)
bool empty ()
void printName (llvm::raw_ostream &os)
- Public Member Functions inherited from klee::Searcher
virtual ~Searcher ()
virtual void activate ()
virtual void deactivate ()
void addState (ExecutionState *es, ExecutionState *current=0)
void removeState (ExecutionState *es, ExecutionState *current=0)

Private Member Functions

llvm::Instruction * getMergePoint (ExecutionState &es)

Private Attributes

std::set< ExecutionState * > statesAtMerge
llvm::Function * mergeFunction

Additional Inherited Members

- Public Types inherited from klee::Searcher
enum  CoreSearchType {
  DFS, BFS, RandomState, RandomPath,
  NURS_CovNew, NURS_MD2U, NURS_Depth, NURS_ICnt,

Detailed Description

Definition at line 183 of file Searcher.h.

Constructor & Destructor Documentation

MergingSearcher::MergingSearcher ( Executor executor,
Searcher baseSearcher 

Definition at line 366 of file Searcher.cpp.

MergingSearcher::~MergingSearcher ( )

Definition at line 372 of file Searcher.cpp.

References baseSearcher.

Member Function Documentation

bool klee::MergingSearcher::empty ( )

Implements klee::Searcher.

Definition at line 200 of file Searcher.h.

References baseSearcher, klee::Searcher::empty(), and statesAtMerge.

Here is the call graph for this function:

Instruction * MergingSearcher::getMergePoint ( ExecutionState es)

Definition at line 378 of file Searcher.cpp.

References klee::KInstruction::inst, mergeFunction, and klee::ExecutionState::pc.

Referenced by selectState().

Here is the caller graph for this function:

void klee::MergingSearcher::printName ( llvm::raw_ostream &  os)

Reimplemented from klee::Searcher.

Definition at line 201 of file Searcher.h.

void MergingSearcher::update ( ExecutionState current,
const std::set< ExecutionState * > &  addedStates,
const std::set< ExecutionState * > &  removedStates 

Implements klee::Searcher.

Definition at line 472 of file Searcher.cpp.

References baseSearcher, statesAtMerge, and klee::Searcher::update().

Here is the call graph for this function:

Member Data Documentation

Searcher* klee::MergingSearcher::baseSearcher

Definition at line 186 of file Searcher.h.

Referenced by empty(), selectState(), update(), and ~MergingSearcher().

Executor& klee::MergingSearcher::executor

Definition at line 184 of file Searcher.h.

Referenced by selectState().

llvm::Function* klee::MergingSearcher::mergeFunction

Definition at line 187 of file Searcher.h.

Referenced by getMergePoint().

std::set<ExecutionState*> klee::MergingSearcher::statesAtMerge

Definition at line 185 of file Searcher.h.

Referenced by empty(), selectState(), and update().

The documentation for this class was generated from the following files: