Static Value-Flow Analysis
|
#include <MTAResultValidator.h>
Public Types | |
typedef int | INTERLEV_FLAG |
typedef int | INTERLEV_FLAG |
Public Member Functions | |
MTAResultValidator (MHP *mh) | |
~MTAResultValidator () | |
void | analyze () |
SVFModule * | getModule () const |
MTAResultValidator (MHP *mh) | |
~MTAResultValidator () | |
void | analyze () |
SVFModule * | getModule () const |
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 () |
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 Types | |
typedef Map< NodeID, const SVFInstruction * > | csnumToInst |
typedef Map< NodeID, CallStrCxt > | vthdToCxtMap |
typedef Map< NodeID, NodeID > | vthdTorthdMap |
typedef Map< NodeID, NodeID > | rthdTovthdMap |
typedef Map< NodeID, Set< NodeID > > | rthdToChildrenMap |
typedef Map< NodeID, const SVFInstruction * > | csnumToInst |
typedef Map< NodeID, CallStrCxt > | vthdToCxtMap |
typedef Map< NodeID, NodeID > | vthdTorthdMap |
typedef Map< NodeID, NodeID > | rthdTovthdMap |
typedef Map< NodeID, Set< NodeID > > | rthdToChildrenMap |
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 |
Definition at line 22 of file MTAResultValidator.h.
|
private |
Definition at line 121 of file MTAResultValidator.h.
|
private |
Definition at line 120 of file MTAResultValidator.h.
typedef int SVF::MTAResultValidator::INTERLEV_FLAG |
Definition at line 26 of file MTAResultValidator.h.
typedef int SVF::MTAResultValidator::INTERLEV_FLAG |
Definition at line 25 of file MTAResultValidator.h.
|
private |
Definition at line 126 of file MTAResultValidator.h.
|
private |
Definition at line 125 of file MTAResultValidator.h.
|
private |
Definition at line 124 of file MTAResultValidator.h.
|
private |
Definition at line 123 of file MTAResultValidator.h.
|
private |
Definition at line 122 of file MTAResultValidator.h.
|
private |
Definition at line 121 of file MTAResultValidator.h.
|
private |
Definition at line 123 of file MTAResultValidator.h.
|
private |
Definition at line 122 of file MTAResultValidator.h.
|
inline |
Definition at line 27 of file MTAResultValidator.h.
|
inline |
Definition at line 35 of file MTAResultValidator.h.
|
inline |
Definition at line 26 of file MTAResultValidator.h.
|
inline |
Definition at line 34 of file MTAResultValidator.h.
void MTAResultValidator::analyze | ( | ) |
Definition at line 40 of file MTAResultValidator.cpp.
void SVF::MTAResultValidator::analyze | ( | ) |
|
protected |
Definition at line 215 of file MTAResultValidator.cpp.
|
protected |
|
protected |
Definition at line 246 of file MTAResultValidator.cpp.
|
protected |
|
protected |
Definition at line 322 of file MTAResultValidator.cpp.
|
protected |
|
protected |
Definition at line 284 of file MTAResultValidator.cpp.
|
protected |
|
protected |
Definition at line 189 of file MTAResultValidator.cpp.
|
protected |
|
protected |
Definition at line 204 of file MTAResultValidator.cpp.
|
protected |
|
protected |
Definition at line 115 of file MTAResultValidator.cpp.
|
protected |
|
protected |
|
protected |
|
inline |
Definition at line 41 of file MTAResultValidator.h.
|
inline |
Definition at line 40 of file MTAResultValidator.h.
|
inlineprotected |
Definition at line 149 of file MTAResultValidator.cpp.
|
inlineprotected |
|
inlineprotected |
Definition at line 161 of file MTAResultValidator.cpp.
|
inlineprotected |
|
protected |
Definition at line 137 of file MTAResultValidator.cpp.
|
protected |
|
protected |
Definition at line 95 of file MTAResultValidator.cpp.
|
protected |
|
protected |
Definition at line 182 of file MTAResultValidator.cpp.
|
protected |
|
protected |
Definition at line 80 of file MTAResultValidator.cpp.
|
protected |
|
protected |
Definition at line 69 of file MTAResultValidator.cpp.
|
protected |
|
protected |
Definition at line 372 of file MTAResultValidator.cpp.
|
protected |
|
protected |
Definition at line 498 of file MTAResultValidator.cpp.
|
protected |
|
protected |
Definition at line 447 of file MTAResultValidator.cpp.
|
protected |
|
private |
Definition at line 141 of file MTAResultValidator.h.
|
staticconstexprprivate |
Map a statement to its thread interleavings.
Definition at line 131 of file MTAResultValidator.h.
|
private |
Definition at line 128 of file MTAResultValidator.h.
|
staticconstexprprivate |
Definition at line 132 of file MTAResultValidator.h.
|
staticprivate |
Definition at line 147 of file MTAResultValidator.h.
|
staticprivate |
Constant INTERLEV_FLAG values.
Definition at line 146 of file MTAResultValidator.h.
|
staticprivate |
Definition at line 148 of file MTAResultValidator.h.
|
private |
Definition at line 137 of file MTAResultValidator.h.
|
private |
Definition at line 143 of file MTAResultValidator.h.
|
private |
Definition at line 142 of file MTAResultValidator.h.
|
private |
Definition at line 140 of file MTAResultValidator.h.
|
private |
Definition at line 136 of file MTAResultValidator.h.
|
staticconstexprprivate |
Definition at line 133 of file MTAResultValidator.h.
|
private |
Definition at line 135 of file MTAResultValidator.h.
|
private |
Definition at line 129 of file MTAResultValidator.h.
|
private |
Definition at line 138 of file MTAResultValidator.h.
|
private |
Definition at line 139 of file MTAResultValidator.h.