dk.brics.xact.analysis
Class XMLAnalysis

java.lang.Object
  extended by dk.brics.xact.analysis.XMLAnalysis

public class XMLAnalysis
extends Object

Program analysis for XACT.


Constructor Summary
XMLAnalysis(String soot_classpath, List<String> classes)
          Initializes XACT program analysis for the given classes.
 
Method Summary
 void analyze()
          Runs the analysis.
 StringAnalysis analyzeStrings()
          Runs string analysis with hotspots that are relevant for XACT operations.
 void analyzeXMLGraphs(dk.brics.xact.analysis.flowgraph.FlowGraph g, dk.brics.xact.analysis.xmlgraph.XMLGraphBuilder b)
          Analyzes the XML graphs.
 dk.brics.xact.analysis.flowgraph.FlowGraph buildFlowGraph(StringAnalysis strings)
          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.
 void loadClasses()
          Loads the class files.
 void releaseSoot()
          Resets Soot.
 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

XMLAnalysis

public XMLAnalysis(String soot_classpath,
                   List<String> classes)
Initializes XACT program analysis for the given classes. The first class is assumed to be the main class.

Parameters:
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 analyzed
Method Detail

analyze

public void analyze()
Runs the analysis. This is a convenience method that invokes the other public methods in the class and catches XMLAnalysisExceptions and XMLValidationExceptions. This method is not thread-safe (because of Soot).


analyzeStrings

public StringAnalysis analyzeStrings()
Runs string analysis with hotspots that are relevant for XACT operations. This method is not thread-safe (because of Soot).


analyzeXMLGraphs

public void analyzeXMLGraphs(dk.brics.xact.analysis.flowgraph.FlowGraph g,
                             dk.brics.xact.analysis.xmlgraph.XMLGraphBuilder b)
Analyzes the XML graphs.


buildFlowGraph

public dk.brics.xact.analysis.flowgraph.FlowGraph buildFlowGraph(StringAnalysis strings)
Builds the flow graph and finds schema URLs. This method is not thread-safe (because of Soot).


buildXMLGraphs

public dk.brics.xact.analysis.xmlgraph.XMLGraphBuilder buildXMLGraphs(dk.brics.xact.analysis.flowgraph.FlowGraph g)
Builds the XML graphs.


loadClasses

public void loadClasses()
Loads the class files. This method is not thread-safe (because of Soot).


releaseSoot

public void releaseSoot()
Resets Soot. Can be invoked after string analysis and flow graph construction.


transformFlowGraph

public void transformFlowGraph(dk.brics.xact.analysis.flowgraph.FlowGraph g)
Performs various transformations of the given flow graph. Must be invoked before XML graph construction.



Copyright © 2005-2008 Aarhus University.