|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectchord.project.analyses.JavaAnalysis
chord.project.analyses.BasicDynamicAnalysis
public class BasicDynamicAnalysis
Generic implementation of a basic dynamic analysis.
Custom dynamic analyses must extend either this class or class
DynamicAnalysis.
| Field Summary | |
|---|---|
static boolean |
DEBUG
|
protected java.util.Map<java.lang.String,java.lang.String> |
eventHandlerArgs
|
protected java.util.Map<java.lang.String,java.lang.String> |
instrumentorArgs
|
protected java.lang.String[] |
runIDs
|
| Fields inherited from class chord.project.analyses.JavaAnalysis |
|---|
consumes, controls, name, produces |
| Constructor Summary | |
|---|---|
BasicDynamicAnalysis()
|
|
| Method Summary | |
|---|---|
boolean |
canReuseTraces()
|
void |
doneAllPasses()
Subclasses can override this method. |
void |
donePass()
Subclasses can override this method. |
java.util.Map<java.lang.String,java.lang.String> |
getEventHandlerArgs()
Arguments to be passed to the event handler. |
java.lang.Class |
getEventHandlerClass()
The class of the event handler to be used. |
java.lang.String |
getInstrKind()
Subclasses can override this method. |
java.util.Map<java.lang.String,java.lang.String> |
getInstrumentorArgs()
Arguments to be passed to the instrumentor. |
java.lang.Class |
getInstrumentorClass()
The class of the instrumentor to be used. |
int |
getTimeout()
Subclasses can override this method. |
int |
getTraceBlockSize()
Subclasses can override this method. |
protected java.lang.String |
getTraceFileName(int version)
|
protected java.lang.String |
getTraceFileName(int version,
java.lang.String runID)
|
protected java.lang.String |
getTraceFileName(java.lang.String base,
int version)
|
protected java.lang.String |
getTraceFileName(java.lang.String base,
int version,
java.lang.String runID)
|
java.lang.String |
getTraceKind()
Subclasses can override this method. |
java.util.List<java.lang.Runnable> |
getTraceTransformers()
Subclasses can override this method. |
boolean |
haltOnErr()
Subclasses can override this method. |
void |
handleEvent(ByteBufferedFile buffer)
|
void |
initAllPasses()
Subclasses can override this method. |
void |
initPass()
Subclasses can override this method. |
void |
processTrace(java.lang.String fileName)
|
boolean |
reuseTraces()
Subclasses can override this method. |
void |
run()
Executes this analysis in a "classic" project. |
boolean |
useJvmti()
Determines whether or not this dynamic analysis must use the JVMTI agent implemented in main/agent/ in order to start and end the event handler at runtime. |
| Methods inherited from class chord.project.analyses.JavaAnalysis |
|---|
getName, run, setName, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final boolean DEBUG
protected java.util.Map<java.lang.String,java.lang.String> eventHandlerArgs
protected java.util.Map<java.lang.String,java.lang.String> instrumentorArgs
protected java.lang.String[] runIDs
| Constructor Detail |
|---|
public BasicDynamicAnalysis()
| Method Detail |
|---|
public java.util.Map<java.lang.String,java.lang.String> getEventHandlerArgs()
getEventHandlerClass(). If this method returns a
subclass of TraceEventHandler, then it is multi-JVM;
otherwise, it is single-JVM.
The value of getTraceBlockSize().
The value of getTraceFileName(int).
Subclasses can override this method but must call
super.getEventHandlerArgs(), add any additional arguments to the
returned map, and return that same map.
public java.util.Map<java.lang.String,java.lang.String> getInstrumentorArgs()
useJvmti().
The value of getEventHandlerClass().
The values of getEventHandlerArgs().
Subclasses can override this method but must call
super.getInstrumentorArgs(), add any additional arguments to the
returned map, and return that same map.
public java.lang.Class getInstrumentorClass()
BasicInstrumentor.
public java.lang.Class getEventHandlerClass()
BasicEventHandler. Additionally, if the dynamic
analysis implemented by the subclass is multi-JVM (uses separate JVMs for
generating and handling events), then this method must return a class
which extends TraceEventHandler.
public boolean useJvmti()
public java.util.List<java.lang.Runnable> getTraceTransformers()
public java.lang.String getInstrKind()
public java.lang.String getTraceKind()
public boolean haltOnErr()
public int getTimeout()
public int getTraceBlockSize()
public boolean reuseTraces()
public void initPass()
public void donePass()
public void initAllPasses()
public void doneAllPasses()
protected java.lang.String getTraceFileName(java.lang.String base,
int version,
java.lang.String runID)
protected java.lang.String getTraceFileName(java.lang.String base,
int version)
protected java.lang.String getTraceFileName(int version)
protected java.lang.String getTraceFileName(int version,
java.lang.String runID)
public boolean canReuseTraces()
public void run()
ITaskClassicProject.runTask(String) or
ClassicProject.runTask(ITask), providing
this analysis either by its name or its object.
run in interface ITaskrun in class JavaAnalysispublic void processTrace(java.lang.String fileName)
public void handleEvent(ByteBufferedFile buffer)
throws java.io.IOException,
ReadException
java.io.IOException
ReadException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||