SVF
|
#include <MTAResultValidator.h>
Public Types | |
typedef int | INTERLEV_FLAG |
Public Member Functions | |
MTAResultValidator (MHP *mh) | |
~MTAResultValidator () | |
void | analyze () |
Protected Member Functions | |
std::vector< std::string > & | split (const std::string &s, char delim, std::vector< std::string > &elems) |
std::vector< std::string > | split (const std::string &s, char delim) |
NodeID | getIntArg (const Instruction *inst, unsigned int arg_num) |
std::vector< std::string > | getStringArg (const Instruction *inst, unsigned int arg_num) |
CallStrCxt | getCxtArg (const Instruction *inst, unsigned int arg_num) |
const Instruction * | getPreviousMemoryAccessInst (const Instruction *I) |
bool | matchCxt (const CallStrCxt cxt1, const CallStrCxt cxt2) const |
void | dumpCxt (const CallStrCxt &cxt) const |
void | dumpInterlev (NodeBS &lev) |
std::string | getOutput (const char *scenario, bool analysisRes) |
std::string | getOutputforInterlevAnalysis (const char *scenario, INTERLEV_FLAG analysisRes) |
bool | collectCallsiteTargets () |
bool | collectCxtThreadTargets () |
bool | collectTCTTargets () |
bool | collectInterleavingTargets () |
bool | validateCxtThread () |
bool | validateTCT () |
INTERLEV_FLAG | validateInterleaving () |
Private Attributes | |
Map< NodeID, const CallInst * > | csnumToInstMap |
Map< NodeID, CallStrCxt > | vthdToCxt |
Map< NodeID, NodeID > | vthdTorthd |
Map< NodeID, NodeID > | rthdTovthd |
Map< NodeID, Set< NodeID > > | rthdToChildren |
MHP::InstToThreadStmtSetMap | instToTSMap |
MHP::ThreadStmtToThreadInterleav | threadStmtToInterLeaving |
ThreadAPI * | tdAPI |
ThreadCallGraph * | tcg |
MHP * | mhp |
Static Private Attributes | |
static constexpr char const * | CXT_THREAD = "CXT_THREAD" |
Map a statement to its thread interleavings. More... | |
static constexpr char const * | INTERLEV_ACCESS = "INTERLEV_ACCESS" |
static constexpr char const * | TCT_ACCESS = "TCT_ACCESS" |
static const INTERLEV_FLAG | INTERLEV_TRUE = 0x01 |
Constant INTERLEV_FLAG values. More... | |
static const INTERLEV_FLAG | INTERLEV_IMPRECISE = 0x02 |
static const INTERLEV_FLAG | INTERLEV_UNSOUND = 0x04 |
Validate the result of context-sensitive analysis, including context-sensitive thread detection and thread interleaving.
Definition at line 21 of file MTAResultValidator.h.
typedef int MTAResultValidator::INTERLEV_FLAG |
Definition at line 25 of file MTAResultValidator.h.
|
inline |
Definition at line 26 of file MTAResultValidator.h.
|
inline |
Definition at line 33 of file MTAResultValidator.h.
void MTAResultValidator::analyze | ( | ) |
Definition at line 18 of file MTAResultValidator.cpp.
|
protected |
Definition at line 183 of file MTAResultValidator.cpp.
|
protected |
Definition at line 213 of file MTAResultValidator.cpp.
|
protected |
Definition at line 265 of file MTAResultValidator.cpp.
|
protected |
Definition at line 239 of file MTAResultValidator.cpp.
|
protected |
Definition at line 157 of file MTAResultValidator.cpp.
|
protected |
Definition at line 172 of file MTAResultValidator.cpp.
|
protected |
Definition at line 84 of file MTAResultValidator.cpp.
|
protected |
Definition at line 58 of file MTAResultValidator.cpp.
|
inlineprotected |
Definition at line 117 of file MTAResultValidator.cpp.
|
inlineprotected |
Definition at line 129 of file MTAResultValidator.cpp.
|
protected |
Definition at line 105 of file MTAResultValidator.cpp.
|
protected |
Definition at line 67 of file MTAResultValidator.cpp.
|
protected |
Definition at line 150 of file MTAResultValidator.cpp.
|
protected |
Definition at line 41 of file MTAResultValidator.cpp.
|
protected |
Definition at line 52 of file MTAResultValidator.cpp.
|
protected |
Definition at line 302 of file MTAResultValidator.cpp.
|
protected |
Definition at line 425 of file MTAResultValidator.cpp.
|
protected |
Definition at line 374 of file MTAResultValidator.cpp.
|
private |
Definition at line 116 of file MTAResultValidator.h.
|
staticprivate |
Map a statement to its thread interleavings.
Definition at line 126 of file MTAResultValidator.h.
|
private |
Definition at line 123 of file MTAResultValidator.h.
|
staticprivate |
Definition at line 127 of file MTAResultValidator.h.
|
staticprivate |
Definition at line 137 of file MTAResultValidator.h.
|
staticprivate |
Constant INTERLEV_FLAG values.
Definition at line 136 of file MTAResultValidator.h.
|
staticprivate |
Definition at line 138 of file MTAResultValidator.h.
|
private |
Definition at line 132 of file MTAResultValidator.h.
|
private |
Definition at line 121 of file MTAResultValidator.h.
|
private |
Definition at line 119 of file MTAResultValidator.h.
|
private |
Definition at line 131 of file MTAResultValidator.h.
|
staticprivate |
Definition at line 128 of file MTAResultValidator.h.
|
private |
Definition at line 130 of file MTAResultValidator.h.
|
private |
Definition at line 124 of file MTAResultValidator.h.
|
private |
Definition at line 117 of file MTAResultValidator.h.
|
private |
Definition at line 118 of file MTAResultValidator.h.