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

#include <Searcher.h>

Inheritance diagram for klee::BumpMergingSearcher:
Collaboration diagram for klee::BumpMergingSearcher:

Public Member Functions

 BumpMergingSearcher (Executor &executor, Searcher *baseSearcher)
 
 ~BumpMergingSearcher ()
 
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::map< llvm::Instruction
*, 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 206 of file Searcher.h.

Constructor & Destructor Documentation

BumpMergingSearcher::BumpMergingSearcher ( Executor executor,
Searcher baseSearcher 
)

Definition at line 288 of file Searcher.cpp.

BumpMergingSearcher::~BumpMergingSearcher ( )

Definition at line 294 of file Searcher.cpp.

References baseSearcher.

Member Function Documentation

bool klee::BumpMergingSearcher::empty ( )
inlinevirtual

Implements klee::Searcher.

Definition at line 223 of file Searcher.h.

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

Here is the call graph for this function:

Instruction * BumpMergingSearcher::getMergePoint ( ExecutionState es)
private

Definition at line 300 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::BumpMergingSearcher::printName ( llvm::raw_ostream &  os)
inlinevirtual

Reimplemented from klee::Searcher.

Definition at line 224 of file Searcher.h.

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

Implements klee::Searcher.

Definition at line 358 of file Searcher.cpp.

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

Here is the call graph for this function:

Member Data Documentation

Searcher* klee::BumpMergingSearcher::baseSearcher
private

Definition at line 209 of file Searcher.h.

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

Executor& klee::BumpMergingSearcher::executor
private

Definition at line 207 of file Searcher.h.

Referenced by selectState().

llvm::Function* klee::BumpMergingSearcher::mergeFunction
private

Definition at line 210 of file Searcher.h.

Referenced by getMergePoint().

std::map<llvm::Instruction*, ExecutionState*> klee::BumpMergingSearcher::statesAtMerge
private

Definition at line 208 of file Searcher.h.

Referenced by empty(), and selectState().


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