SandMark version 2.0


sandmark.watermark.ct.trace
Class CallForest

java.lang.Object
  |
  +--sandmark.watermark.ct.trace.CallForest

public class CallForest
extends java.lang.Object


Nested Class Summary
(package private)  class CallForest.CallFrame
           
 
Field Summary
(package private)  TracePoint[] annotationPoints
           
(package private)  java.lang.String annotatorClass
           
(package private)  ClassHierarchy classHierarchy
           
(package private) static int EDGE_VALUE
           
(package private)  Node entry
           
(package private)  Node exit
           
(package private)  java.util.Vector forest
           
(package private)  java.util.Hashtable frame2entry
           
(package private)  java.util.Hashtable frame2exit
           
(package private)  java.util.Hashtable frame2last
           
(package private)  java.util.Hashtable frame2node
           
(package private) static int NODE_JAVA_VALUE
           
(package private) static int NODE_MARK_VALUE
           
(package private) static int NODE_STEALTHY_VALUE
           
(package private) static int NODE_UNSTEALTHY_VALUE
           
(package private)  java.util.Properties props
           
(package private)  java.util.Hashtable root2Graph
           
(package private)  Stats statistics
           
 
Constructor Summary
CallForest(TracePoint[] annotationPoints, ClassHierarchy classHierarchy, Stats stats, java.util.Properties props)
           
 
Method Summary
(package private)  void build()
          Builds a information flow graph
 Graph getCallGraph(int i)
           
 int getEdgeWeight(Graph graph, Edge edge)
           
 MethodID[] getFlowPath(StackFrame from, MethodID to)
           
 java.util.Vector getForest()
           
 long getFrameID(Graph graph, Node node)
           
 ByteCodeLocation getLocation(Graph graph, Node node)
           
 java.lang.String getMarkValue(Graph graph, Node node)
           
 MethodID getMethod(Graph graph, Node node)
           
 int getNodeKind(Graph graph, Node node)
           
 int getNodeWeight(Graph graph, Node node)
           
(package private)  boolean isMarkNode(Graph graph, Node node)
           
static void main(java.lang.String[] args)
           
(package private)  Graph newGraph(StackFrame root)
           
 int size()
           
(package private) static void test1()
           
(package private) static void test2()
           
 java.lang.String toString()
           
 void view()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

annotationPoints

TracePoint[] annotationPoints

classHierarchy

ClassHierarchy classHierarchy

statistics

Stats statistics

props

java.util.Properties props

annotatorClass

java.lang.String annotatorClass

forest

java.util.Vector forest

root2Graph

java.util.Hashtable root2Graph

frame2node

java.util.Hashtable frame2node

frame2entry

java.util.Hashtable frame2entry

frame2exit

java.util.Hashtable frame2exit

frame2last

java.util.Hashtable frame2last

entry

Node entry

exit

Node exit

EDGE_VALUE

static final int EDGE_VALUE
See Also:
Constant Field Values

NODE_MARK_VALUE

static final int NODE_MARK_VALUE
See Also:
Constant Field Values

NODE_STEALTHY_VALUE

static final int NODE_STEALTHY_VALUE
See Also:
Constant Field Values

NODE_UNSTEALTHY_VALUE

static final int NODE_UNSTEALTHY_VALUE
See Also:
Constant Field Values

NODE_JAVA_VALUE

static final int NODE_JAVA_VALUE
See Also:
Constant Field Values
Constructor Detail

CallForest

public CallForest(TracePoint[] annotationPoints,
                  ClassHierarchy classHierarchy,
                  Stats stats,
                  java.util.Properties props)
Method Detail

newGraph

Graph newGraph(StackFrame root)

build

void build()
Builds a information flow graph


isMarkNode

boolean isMarkNode(Graph graph,
                   Node node)

getFlowPath

public MethodID[] getFlowPath(StackFrame from,
                              MethodID to)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

view

public void view()

getForest

public java.util.Vector getForest()

size

public int size()

getCallGraph

public Graph getCallGraph(int i)

getMethod

public MethodID getMethod(Graph graph,
                          Node node)

getFrameID

public long getFrameID(Graph graph,
                       Node node)

getNodeKind

public int getNodeKind(Graph graph,
                       Node node)

getLocation

public ByteCodeLocation getLocation(Graph graph,
                                    Node node)

getMarkValue

public java.lang.String getMarkValue(Graph graph,
                                     Node node)

getNodeWeight

public int getNodeWeight(Graph graph,
                         Node node)

getEdgeWeight

public int getEdgeWeight(Graph graph,
                         Edge edge)

test1

static void test1()

test2

static void test2()

main

public static void main(java.lang.String[] args)

SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002