|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object dk.brics.xact.analysis.XMLAnalysis
public class XMLAnalysis
Program analysis for XACT.
XMLAnalysis
can safely be run in parallel.
However, because Soot does not support separate instances of itself running,
the initial phase will lock soot.G.class to prevent interference.
The remaining phases will run concurrently with other analyses.
setTaskRunner(XactTaskRunner)
or setExecutorService(ExecutorService)
. The analysis will be single-threaded
if neither method is called before starting the analysis.
Constructor Summary | |
---|---|
XMLAnalysis(String soot_classpath,
List<String> classes)
Initializes XACT program analysis for the given classes. |
Method Summary | |
---|---|
void |
analyze()
Runs the analysis. |
void |
analyzeXMLGraphs(dk.brics.xact.analysis.flowgraph.FlowGraph g,
dk.brics.xact.analysis.xmlgraph.XMLGraphBuilder b)
Analyzes the XML graphs. |
dk.brics.xact.analysis.soot.TranslationResult |
buildFlowGraph()
Builds the flow graph and finds schema URLs. |
dk.brics.xact.analysis.xmlgraph.XMLGraphBuilder |
buildXMLGraphs(dk.brics.xact.analysis.flowgraph.FlowGraph g)
Builds the XML graphs. |
List<ErrorReport> |
getErrors()
|
void |
loadClasses()
Loads the class files. |
void |
printMessages()
|
void |
printMessages(PrintStream out)
|
void |
printMessages(PrintWriter out)
|
void |
releaseSoot()
Resets Soot. |
void |
setConfiguration(dk.brics.xact.analysis.config.Configuration config)
Sets the Configuration object to be used in the analysis. |
void |
setDiagnostics(Diagnostics diag)
Sets the Diagnostics object to receive event notifications. |
void |
setExecutorService(ExecutorService executor)
Sets an ExecutorService used to perform parallelizable tasks. |
void |
setTaskRunner(dk.brics.xact.analysis.concurrent.XactTaskRunner tasks)
Sets the XactTaskRunner used to perform parallelizable tasks. |
void |
transformFlowGraph(dk.brics.xact.analysis.flowgraph.FlowGraph g)
Performs various transformations of the given flow graph. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public XMLAnalysis(String soot_classpath, List<String> classes)
soot_classpath
- the class path for the classes to be analyzed
(if null, just use the normal class path)classes
- names of the classes to be analyzedMethod Detail |
---|
public void analyze()
public void analyzeXMLGraphs(dk.brics.xact.analysis.flowgraph.FlowGraph g, dk.brics.xact.analysis.xmlgraph.XMLGraphBuilder b)
public dk.brics.xact.analysis.soot.TranslationResult buildFlowGraph()
public dk.brics.xact.analysis.xmlgraph.XMLGraphBuilder buildXMLGraphs(dk.brics.xact.analysis.flowgraph.FlowGraph g)
public List<ErrorReport> getErrors()
public void loadClasses()
public void printMessages()
public void printMessages(PrintStream out)
public void printMessages(PrintWriter out)
public void releaseSoot()
public void setConfiguration(dk.brics.xact.analysis.config.Configuration config)
Configuration
object to be used in the analysis.
public void setDiagnostics(Diagnostics diag)
Diagnostics
object to receive event notifications.
public void setExecutorService(ExecutorService executor)
ExecutorService
used to perform parallelizable tasks.
This is equivalent to
setTaskRunner(new ExecutorTaskRunner(executor));
executor
- an executor serviceExecutors
,
setTaskRunner(XactTaskRunner)
public void setTaskRunner(dk.brics.xact.analysis.concurrent.XactTaskRunner tasks)
XactTaskRunner
used to perform parallelizable tasks.
tasks
- the tasks runnersetExecutorService(ExecutorService)
public void transformFlowGraph(dk.brics.xact.analysis.flowgraph.FlowGraph g)
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |