klee
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
KleeHandler Class Reference
Inheritance diagram for KleeHandler:
Collaboration diagram for KleeHandler:

Public Member Functions

 KleeHandler (int argc, char **argv)
 
 ~KleeHandler ()
 
llvm::raw_ostream & getInfoStream () const
 
unsigned getNumTestCases ()
 
unsigned getNumPathsExplored ()
 
void incPathsExplored ()
 
void setInterpreter (Interpreter *i)
 
void processTestCase (const ExecutionState &state, const char *errorMessage, const char *errorSuffix)
 
std::string getOutputFilename (const std::string &filename)
 
llvm::raw_fd_ostream * openOutputFile (const std::string &filename)
 
std::string getTestFilename (const std::string &suffix, unsigned id)
 
llvm::raw_fd_ostream * openTestFile (const std::string &suffix, unsigned id)
 
- Public Member Functions inherited from klee::InterpreterHandler
 InterpreterHandler ()
 
virtual ~InterpreterHandler ()
 

Static Public Member Functions

static void loadOutFile (std::string name, std::vector< unsigned char > &buffer)
 
static void loadPathFile (std::string name, std::vector< bool > &buffer)
 
static void getOutFiles (std::string path, std::vector< std::string > &results)
 
static std::string getRunTimeLibraryPath (const char *argv0)
 

Private Attributes

Interpreterm_interpreter
 
TreeStreamWriterm_pathWriter
 
TreeStreamWriterm_symPathWriter
 
llvm::raw_ostream * m_infoFile
 
SmallString< 128 > m_outputDirectory
 
unsigned m_testIndex
 
unsigned m_pathsExplored
 
int m_argc
 
char ** m_argv
 

Detailed Description

Definition at line 219 of file main.cpp.

Constructor & Destructor Documentation

KleeHandler::KleeHandler ( int  argc,
char **  argv 
)
KleeHandler::~KleeHandler ( )

Member Function Documentation

llvm::raw_ostream& KleeHandler::getInfoStream ( ) const
inlinevirtual

Implements klee::InterpreterHandler.

Definition at line 238 of file main.cpp.

Referenced by main().

Here is the caller graph for this function:

unsigned KleeHandler::getNumPathsExplored ( )
inline

Definition at line 240 of file main.cpp.

Referenced by main().

Here is the caller graph for this function:

unsigned KleeHandler::getNumTestCases ( )
inline

Definition at line 239 of file main.cpp.

Referenced by main().

Here is the caller graph for this function:

void KleeHandler::getOutFiles ( std::string  path,
std::vector< std::string > &  results 
)
static

Definition at line 550 of file main.cpp.

Referenced by main().

Here is the caller graph for this function:

std::string KleeHandler::getOutputFilename ( const std::string &  filename)
virtual

Implements klee::InterpreterHandler.

Definition at line 366 of file main.cpp.

References m_outputDirectory.

Referenced by KleeHandler(), openOutputFile(), processTestCase(), and setInterpreter().

Here is the caller graph for this function:

std::string KleeHandler::getRunTimeLibraryPath ( const char *  argv0)
static

Definition at line 567 of file main.cpp.

References LLVM_VERSION, and LLVM_VERSION_CODE.

Referenced by main().

Here is the caller graph for this function:

std::string KleeHandler::getTestFilename ( const std::string &  suffix,
unsigned  id 
)

Definition at line 393 of file main.cpp.

References suffix.

Referenced by openTestFile(), and processTestCase().

Here is the caller graph for this function:

void KleeHandler::incPathsExplored ( )
inlinevirtual

Implements klee::InterpreterHandler.

Definition at line 241 of file main.cpp.

static void KleeHandler::loadOutFile ( std::string  name,
std::vector< unsigned char > &  buffer 
)
static
void KleeHandler::loadPathFile ( std::string  name,
std::vector< bool > &  buffer 
)
static

Definition at line 535 of file main.cpp.

Referenced by main().

Here is the caller graph for this function:

llvm::raw_fd_ostream * KleeHandler::openOutputFile ( const std::string &  filename)
virtual

Implements klee::InterpreterHandler.

Definition at line 372 of file main.cpp.

References getOutputFilename(), and klee::klee_error().

Referenced by KleeHandler(), and openTestFile().

Here is the call graph for this function:

Here is the caller graph for this function:

llvm::raw_fd_ostream * KleeHandler::openTestFile ( const std::string &  suffix,
unsigned  id 
)

Definition at line 399 of file main.cpp.

References getTestFilename(), and openOutputFile().

Referenced by processTestCase().

Here is the call graph for this function:

Here is the caller graph for this function:

void KleeHandler::setInterpreter ( Interpreter i)

Definition at line 350 of file main.cpp.

References getOutputFilename(), klee::TreeStreamWriter::good(), m_interpreter, m_pathWriter, m_symPathWriter, klee::Interpreter::setPathWriter(), and klee::Interpreter::setSymbolicPathWriter().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

int KleeHandler::m_argc
private

Definition at line 231 of file main.cpp.

Referenced by processTestCase().

char** KleeHandler::m_argv
private

Definition at line 232 of file main.cpp.

Referenced by processTestCase().

llvm::raw_ostream* KleeHandler::m_infoFile
private

Definition at line 223 of file main.cpp.

Referenced by KleeHandler(), and ~KleeHandler().

Interpreter* KleeHandler::m_interpreter
private

Definition at line 221 of file main.cpp.

Referenced by processTestCase(), and setInterpreter().

SmallString<128> KleeHandler::m_outputDirectory
private

Definition at line 225 of file main.cpp.

Referenced by getOutputFilename(), and KleeHandler().

unsigned KleeHandler::m_pathsExplored
private

Definition at line 228 of file main.cpp.

TreeStreamWriter* KleeHandler::m_pathWriter
private

Definition at line 222 of file main.cpp.

Referenced by processTestCase(), setInterpreter(), and ~KleeHandler().

TreeStreamWriter * KleeHandler::m_symPathWriter
private

Definition at line 222 of file main.cpp.

Referenced by processTestCase(), setInterpreter(), and ~KleeHandler().

unsigned KleeHandler::m_testIndex
private

Definition at line 227 of file main.cpp.

Referenced by processTestCase().


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