klee
 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

Executorexecutor
 
std::set< ExecutionState * > statesAtMerge
 
SearcherbaseSearcher
 
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,
  NURS_CPICnt, NURS_QC
}
 

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 ( )
inlinevirtual

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)
private

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)
inlinevirtual

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 
)
virtual

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
private

Definition at line 186 of file Searcher.h.

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

Executor& klee::MergingSearcher::executor
private

Definition at line 184 of file Searcher.h.

Referenced by selectState().

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

Definition at line 187 of file Searcher.h.

Referenced by getMergePoint().

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

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: