本文整理汇总了C++中Searcher::printName方法的典型用法代码示例。如果您正苦于以下问题:C++ Searcher::printName方法的具体用法?C++ Searcher::printName怎么用?C++ Searcher::printName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Searcher
的用法示例。
在下文中一共展示了Searcher::printName方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getNewSearcher
Searcher *klee::constructUserSearcher(Executor &executor) {
// default values
if (CoreSearch.size() == 0) {
CoreSearch.push_back(Searcher::RandomPath);
CoreSearch.push_back(Searcher::NURS_CovNew);
}
Searcher *searcher = getNewSearcher(CoreSearch[0], executor);
if (CoreSearch.size() > 1) {
std::vector<Searcher *> s;
s.push_back(searcher);
for (unsigned i=1; i<CoreSearch.size(); i++)
s.push_back(getNewSearcher(CoreSearch[i], executor));
searcher = new InterleavedSearcher(s);
}
if (UseBatchingSearch) {
searcher = new BatchingSearcher(searcher, BatchTime, BatchInstructions);
}
// merge support is experimental
if (UseMerge) {
assert(!UseBumpMerge);
assert(std::find(CoreSearch.begin(), CoreSearch.end(), Searcher::RandomPath) == CoreSearch.end()); // XXX: needs further debugging: test/Features/Searchers.c fails with this searcher
searcher = new MergingSearcher(executor, searcher);
} else if (UseBumpMerge) {
searcher = new BumpMergingSearcher(executor, searcher);
}
if (UseIterativeDeepeningTimeSearch) {
searcher = new IterativeDeepeningTimeSearcher(searcher);
}
llvm::raw_ostream &os = executor.getHandler().getInfoStream();
os << "BEGIN searcher description\n";
searcher->printName(os);
os << "END searcher description\n";
return searcher;
}
示例2: RandomPathSearcher
Searcher *klee::constructUserSearcher(Executor &executor) {
Searcher *searcher = 0;
if (UseRandomPathSearch) {
searcher = new RandomPathSearcher(executor);
} else if (UseNonUniformRandomSearch) {
searcher = new WeightedRandomSearcher(executor, WeightType);
} else if (UseDfsSearch) {
searcher = new DFSSearcher();
} else {
searcher = new RandomSearcher();
}
if (UseInterleavedNURS || UseInterleavedMD2UNURS || UseInterleavedRS ||
UseInterleavedCovNewNURS || UseInterleavedInstCountNURS ||
UseInterleavedCPInstCountNURS || UseInterleavedQueryCostNURS) {
std::vector<Searcher *> s;
s.push_back(searcher);
if (UseInterleavedNURS)
s.push_back(new WeightedRandomSearcher(executor,
WeightedRandomSearcher::Depth));
if (UseInterleavedMD2UNURS)
s.push_back(new WeightedRandomSearcher(executor,
WeightedRandomSearcher::MinDistToUncovered));
if (UseInterleavedCovNewNURS)
s.push_back(new WeightedRandomSearcher(executor,
WeightedRandomSearcher::CoveringNew));
if (UseInterleavedInstCountNURS)
s.push_back(new WeightedRandomSearcher(executor,
WeightedRandomSearcher::InstCount));
if (UseInterleavedCPInstCountNURS)
s.push_back(new WeightedRandomSearcher(executor,
WeightedRandomSearcher::CPInstCount));
if (UseInterleavedQueryCostNURS)
s.push_back(new WeightedRandomSearcher(executor,
WeightedRandomSearcher::QueryCost));
if (UseInterleavedRS)
s.push_back(new RandomSearcher());
searcher = new InterleavedSearcher(s);
}
if (UseBatchingSearch) {
//searcher = new BatchingSearcher(searcher, BatchTime, BatchInstructions);
//XXX: For S2E
searcher = new BatchingSearcher(searcher, BatchTime, 0);
}
if (UseMerge) {
assert(!UseBumpMerge);
searcher = new MergingSearcher(executor, searcher);
} else if (UseBumpMerge) {
searcher = new BumpMergingSearcher(executor, searcher);
}
if (UseIterativeDeepeningTimeSearch) {
searcher = new IterativeDeepeningTimeSearcher(searcher);
}
std::ostream &os = executor.getHandler().getInfoStream();
os << "BEGIN searcher description\n";
searcher->printName(os);
os << "END searcher description\n";
return searcher;
}
示例3: AssertionNonStopSearcher
Searcher *klee::constructUserSearcher(Executor &executor) {
Searcher *searcher = 0;
if (UseAssertionNonStopSearch) {
searcher = new AssertionNonStopSearcher(executor);
} else
if (UseShortestPathSearch) {
searcher = new ShortestPathSearcher(executor);
} else if (UseConcretePathSearch) {
searcher = new ConcretePathSearcher();
} else if (UseConcreteBranchSearch) {
searcher = new ConcreteBranchSearcher();
} else if (UsePathReplaySearch) {
searcher = new PathReplaySearcher(executor);
} else if (UseConcreteCallSeqSearch) {
searcher = new ConcreteCallSeqSearcher();
} else if (UseCallSeqReplaySearch) {
searcher = new CallSeqReplaySearcher(executor);
} else if (UseConcreteFuncCoverageSearch) {
searcher = new ConcreteFuncCoverageSearcher();
} else if (UseCallSeqReplayNSSearch) {
searcher = new CallSeqReplayNonStopSearcher(executor);
executor.usenonstopsearcher=true;
} else if (UseRandomPathSearch) {
searcher = new RandomPathSearcher(executor);
} else if (UseNonUniformRandomSearch) {
searcher = new WeightedRandomSearcher(executor, WeightType);
} else if (UseRandomSearch) {
searcher = new RandomSearcher();
} else if (UseCommonBranchSearch) {
searcher = new BranchRankingSearcher(executor);
} else {
searcher = new DFSSearcher();
}
if (UseInterleavedNURS || UseInterleavedMD2UNURS || UseInterleavedRS ||
UseInterleavedCovNewNURS || UseInterleavedInstCountNURS ||
UseInterleavedCPInstCountNURS || UseInterleavedQueryCostNURS) {
std::vector<Searcher *> s;
s.push_back(searcher);
if (UseInterleavedNURS)
s.push_back(new WeightedRandomSearcher(executor,
WeightedRandomSearcher::Depth));
if (UseInterleavedMD2UNURS)
s.push_back(new WeightedRandomSearcher(executor,
WeightedRandomSearcher::MinDistToUncovered));
if (UseInterleavedCovNewNURS)
s.push_back(new WeightedRandomSearcher(executor,
WeightedRandomSearcher::CoveringNew));
if (UseInterleavedInstCountNURS)
s.push_back(new WeightedRandomSearcher(executor,
WeightedRandomSearcher::InstCount));
if (UseInterleavedCPInstCountNURS)
s.push_back(new WeightedRandomSearcher(executor,
WeightedRandomSearcher::CPInstCount));
if (UseInterleavedQueryCostNURS)
s.push_back(new WeightedRandomSearcher(executor,
WeightedRandomSearcher::QueryCost));
if (UseInterleavedRS)
s.push_back(new RandomSearcher());
searcher = new InterleavedSearcher(s);
}
if (UseBatchingSearch) {
searcher = new BatchingSearcher(searcher, BatchTime, BatchInstructions);
}
if (UseMerge) {
assert(!UseBumpMerge);
searcher = new MergingSearcher(executor, searcher);
} else if (UseBumpMerge) {
searcher = new BumpMergingSearcher(executor, searcher);
}
if (UseIterativeDeepeningTimeSearch) {
searcher = new IterativeDeepeningTimeSearcher(searcher);
}
std::ostream &os = executor.getHandler().getInfoStream();
os << "BEGIN searcher description\n";
searcher->printName(os);
os << "END searcher description\n";
return searcher;
}