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

#include <StatsTracker.h>

Collaboration diagram for klee::StatsTracker:

Public Member Functions

 StatsTracker (Executor &_executor, std::string _objectFilename, bool _updateMinDistToUncovered)
 
 ~StatsTracker ()
 
void framePushed (ExecutionState &es, StackFrame *parentFrame)
 
void framePopped (ExecutionState &es)
 
void markBranchVisited (ExecutionState *visitedTrue, ExecutionState *visitedFalse)
 
void done ()
 
void stepInstruction (ExecutionState &es)
 
double elapsed ()
 Return time in seconds since execution start. More...
 
void computeReachableUncovered ()
 

Static Public Member Functions

static bool useStatistics ()
 

Private Member Functions

void updateStateStatistics (uint64_t addend)
 
void writeStatsHeader ()
 
void writeStatsLine ()
 
void writeIStats ()
 

Private Attributes

Executorexecutor
 
std::string objectFilename
 
llvm::raw_fd_ostream * statsFile
 
llvm::raw_fd_ostream * istatsFile
 
double startWallTime
 
unsigned numBranches
 
unsigned fullBranches
 
unsigned partialBranches
 
CallPathManager callPathManager
 
bool updateMinDistToUncovered
 

Friends

class WriteStatsTimer
 
class WriteIStatsTimer
 

Detailed Description

Definition at line 32 of file StatsTracker.h.

Constructor & Destructor Documentation

StatsTracker::~StatsTracker ( )

Definition at line 241 of file StatsTracker.cpp.

References istatsFile, and statsFile.

Member Function Documentation

void StatsTracker::done ( )

Definition at line 248 of file StatsTracker.cpp.

References statsFile, writeIStats(), and writeStatsLine().

Referenced by klee::Executor::runFunctionAsMain().

Here is the call graph for this function:

Here is the caller graph for this function:

double StatsTracker::elapsed ( )

Return time in seconds since execution start.

Definition at line 385 of file StatsTracker.cpp.

References klee::util::getWallTime(), and startWallTime.

Referenced by klee::Executor::fork(), and writeStatsLine().

Here is the call graph for this function:

Here is the caller graph for this function:

void StatsTracker::framePopped ( ExecutionState es)

Definition at line 330 of file StatsTracker.cpp.

Referenced by klee::Executor::executeInstruction().

Here is the caller graph for this function:

void StatsTracker::markBranchVisited ( ExecutionState visitedTrue,
ExecutionState visitedFalse 
)
void StatsTracker::updateStateStatistics ( uint64_t  addend)
private
bool StatsTracker::useStatistics ( )
static

Definition at line 108 of file StatsTracker.cpp.

Referenced by klee::Executor::setModule().

Here is the caller graph for this function:

void StatsTracker::writeStatsHeader ( )
private

Definition at line 359 of file StatsTracker.cpp.

References statsFile.

Referenced by StatsTracker().

Here is the caller graph for this function:

Friends And Related Function Documentation

friend class WriteIStatsTimer
friend

Definition at line 34 of file StatsTracker.h.

Referenced by StatsTracker().

friend class WriteStatsTimer
friend

Definition at line 33 of file StatsTracker.h.

Referenced by StatsTracker().

Member Data Documentation

CallPathManager klee::StatsTracker::callPathManager
private

Definition at line 45 of file StatsTracker.h.

Referenced by framePushed(), and writeIStats().

Executor& klee::StatsTracker::executor
private
unsigned klee::StatsTracker::fullBranches
private

Definition at line 43 of file StatsTracker.h.

Referenced by markBranchVisited(), and writeStatsLine().

llvm::raw_fd_ostream * klee::StatsTracker::istatsFile
private

Definition at line 39 of file StatsTracker.h.

Referenced by StatsTracker(), writeIStats(), and ~StatsTracker().

unsigned klee::StatsTracker::numBranches
private

Definition at line 42 of file StatsTracker.h.

Referenced by StatsTracker(), and writeStatsLine().

std::string klee::StatsTracker::objectFilename
private

Definition at line 37 of file StatsTracker.h.

Referenced by StatsTracker(), and writeIStats().

unsigned klee::StatsTracker::partialBranches
private

Definition at line 43 of file StatsTracker.h.

Referenced by markBranchVisited(), and writeStatsLine().

double klee::StatsTracker::startWallTime
private

Definition at line 40 of file StatsTracker.h.

Referenced by elapsed().

llvm::raw_fd_ostream* klee::StatsTracker::statsFile
private

Definition at line 39 of file StatsTracker.h.

Referenced by done(), StatsTracker(), writeStatsHeader(), writeStatsLine(), and ~StatsTracker().

bool klee::StatsTracker::updateMinDistToUncovered
private

Definition at line 47 of file StatsTracker.h.

Referenced by framePushed(), and StatsTracker().


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