Predator
[unstable] git snapshot
|
#include "clean_list.hh"
#include "fixed_point_proxy.hh"
#include "id_mapper.hh"
#include "shape.hh"
#include "symstate.hh"
#include <climits>
#include <utility>
Go to the source code of this file.
Data Structures | |
class | GenericInsn |
struct | TraceEdge |
single heap-level trace edge holding inner ID mappings inside More... | |
struct | CfgEdge |
single control-flow edge connecting instructions (no basic blocks here) More... | |
struct | LocalState |
state summary for a single location (preceding a single instruction) More... | |
class | GlobalState |
annotated fixed-point of a program (or its part, e.g. a function) More... |
Namespaces | |
namespace | CodeStorage |
object model that describes the analyzed code on the input | |
namespace | FixedPoint |
Typedefs | |
typedef const CodeStorage::Fnc * | TFnc |
typedef int | TLocIdx |
typedef int | THeapIdx |
typedef int | TShapeIdx |
typedef std::pair< TLocIdx, THeapIdx > | THeapIdent |
heap (in our case represented by SMG) identity | |
typedef std::pair< THeapIdent, TShapeIdx > | TShapeIdent |
container shape (in our case represented by Shape) identity | |
typedef IdMapper< TShapeIdx, INT_MIN, INT_MAX > | TShapeMapper |
NOTE: we can omit specifying INT_MIN/INT_MAX when compiling as C++11. | |
typedef IdMapper< TObjId, OBJ_INVALID, OBJ_MAX_ID > | TObjectMapper |
typedef std::vector< TraceEdge * > | TTraceEdgeList |
typedef std::vector < TTraceEdgeList > | TEdgeListByHeapIdx |
typedef std::vector< CfgEdge > | TCfgEdgeList |
Functions | |
std::ostream & | operator<< (std::ostream &str, const GenericInsn &insn) |
const SymHeap * | heapByIdent (const GlobalState &, THeapIdent) |
return heap of the given state by its identity | |
SymHeap * | heapByIdent (GlobalState &, THeapIdent) |
return heap of the given state by its identity | |
const Shape * | shapeByIdent (const GlobalState &, const TShapeIdent &) |
return shape of the given state by its identity | |
GlobalState * | computeStateOf (TFnc, const StateByInsn::TStateMap &) |
caller is responsible to destroy the returned instance | |
void | exportControlFlow (GlobalState *pDst, const GlobalState &glState) |
write the CFG-only skeleton of glState into *pDst | |
void | removeDeadCode (GlobalState *pState) |
remove instructions assigning values to dead variables | |
void | sl_dump (const TShapeMapper &) |
pretty print the given ID mapping |
Variables | |
const THeapIdent | InvalidHeap |
fixed heap ID for signalling failures where ID is expected |