klee
|
#include "klee/ADT/TreeStream.h"
#include "klee/Config/Version.h"
#include "klee/Core/Interpreter.h"
#include "klee/Expr/Expr.h"
#include "klee/ADT/KTest.h"
#include "klee/Support/OptionCategories.h"
#include "klee/Statistics/Statistics.h"
#include "klee/Solver/SolverCmdLine.h"
#include "klee/Support/Debug.h"
#include "klee/Support/ErrorHandling.h"
#include "klee/Support/FileHandling.h"
#include "klee/Support/ModuleUtil.h"
#include "klee/Support/PrintVersion.h"
#include "klee/System/Time.h"
#include "llvm/Bitcode/BitcodeReader.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Type.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Errno.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Host.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/TargetSelect.h"
#include "llvm/Support/Signals.h"
#include <dirent.h>
#include <signal.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <cerrno>
#include <ctime>
#include <fstream>
#include <iomanip>
#include <iterator>
#include <sstream>
Go to the source code of this file.
Classes | |
class | KleeHandler |
Namespaces | |
namespace | klee |
Macros | |
#define | NELEMS(array) (sizeof(array)/sizeof(array[0])) |
Functions | |
static std::string | strip (std::string &in) |
static void | parseArguments (int argc, char **argv) |
static void | preparePOSIX (std::vector< std::unique_ptr< llvm::Module > > &loadedModules, llvm::StringRef libCPrefix) |
void | externalsAndGlobalsCheck (const llvm::Module *m) |
void | halt_execution () |
void | stop_forking () |
static void | interrupt_handle () |
static void | interrupt_handle_watchdog () |
static void | halt_via_gdb (int pid) |
static void | linkWithUclibc (StringRef libDir, std::string opt_suffix, std::vector< std::unique_ptr< llvm::Module > > &modules) |
int | main (int argc, char **argv, char **envp) |
Variables | |
cl::opt< std::string > | klee::MaxTime |
static const char * | modelledExternals [] |
static const char * | dontCareExternals [] |
static const char * | dontCareKlee [] |
static const char * | dontCareUclibc [] |
static const char * | unsafeExternals [] |
static Interpreter * | theInterpreter = 0 |
static bool | interrupted = false |
void externalsAndGlobalsCheck | ( | const llvm::Module * | m | ) |
Definition at line 890 of file main.cpp.
References dontCareExternals, dontCareKlee, dontCareUclibc, klee::floats::ext(), klee_warning(), klee_warning_once(), modelledExternals, NELEMS, and unsafeExternals.
Referenced by main().
void halt_execution | ( | ) |
Definition at line 988 of file main.cpp.
References klee::Interpreter::setHaltExecution(), and theInterpreter.
Referenced by interrupt_handle().
|
static |
|
static |
Definition at line 997 of file main.cpp.
References halt_execution(), interrupt_handle(), interrupted, and theInterpreter.
Referenced by interrupt_handle(), and main().
|
static |
|
static |
Definition at line 1031 of file main.cpp.
References klee::klee_error().
Referenced by main().
int main | ( | int | argc, |
char ** | argv, | ||
char ** | envp | ||
) |
Definition at line 1154 of file main.cpp.
References KTest::args, externalsAndGlobalsCheck(), klee::stats::forks, klee::time::getClockInfo(), KleeHandler::getInfoStream(), KleeHandler::getKTestFilesInDir(), KleeHandler::getNumPathsCompleted(), KleeHandler::getNumPathsExplored(), KleeHandler::getNumTestCases(), KleeHandler::getRunTimeLibraryPath(), klee::StatisticManager::getStatisticByName(), klee::time::getWallTime(), halt_via_gdb(), klee::stats::instructions, interrupt_handle(), interrupt_handle_watchdog(), interrupted, klee::klee_error(), klee::klee_message(), klee_warning(), kTest_free(), kTest_fromFile(), kTest_numBytes(), klee::Interpreter::ModuleOptions::LibraryDir, line, klee::linkModules(), linkWithUclibc(), klee::loadFile(), KleeHandler::loadPathFile(), klee::Interpreter::InterpreterOptions::MakeConcreteSymbolic, klee::MaxTime, KTest::numArgs, parseArguments(), preparePOSIX(), klee::stats::queries, klee::stats::queriesInvalid, klee::stats::queriesValid, klee::stats::queryConstructs, klee::stats::queryCounterexamples, klee::Interpreter::runFunctionAsMain(), klee::time::seconds(), KleeHandler::setInterpreter(), klee::Interpreter::setModule(), klee::Interpreter::setReplayKTest(), klee::Interpreter::setReplayPath(), strip(), theInterpreter, klee::theStatisticManager, klee::time::Span::toHMS(), and klee::Interpreter::useSeeds().
|
static |
Definition at line 693 of file main.cpp.
References klee::printVersion().
Referenced by main().
|
static |
Definition at line 700 of file main.cpp.
References klee::klee_error().
Referenced by main().
void stop_forking | ( | ) |
Definition at line 993 of file main.cpp.
References klee::Interpreter::setInhibitForking(), and theInterpreter.
|
static |
|
static |
Definition at line 810 of file main.cpp.
Referenced by externalsAndGlobalsCheck().
|
static |
Definition at line 859 of file main.cpp.
Referenced by externalsAndGlobalsCheck().
|
static |
Definition at line 871 of file main.cpp.
Referenced by externalsAndGlobalsCheck().
|
static |
Definition at line 984 of file main.cpp.
Referenced by interrupt_handle(), and main().
|
static |
Definition at line 743 of file main.cpp.
Referenced by externalsAndGlobalsCheck().
|
static |
Definition at line 982 of file main.cpp.
Referenced by halt_execution(), interrupt_handle(), main(), and stop_forking().
|
static |
Definition at line 881 of file main.cpp.
Referenced by externalsAndGlobalsCheck().