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(FlowGraph g, XMLGraphBuilder b)
          Analyzes the XML graphs.
 FlowGraph buildFlowGraph(StringAnalysis strings)
          Builds the flow graph and finds schema URLs.
 XMLGraphBuilder buildXMLGraphs(FlowGraph g)
          Builds the XML graphs.
(package private) static void endPhase()
          Marks the end of a phase.
 void loadClasses()
          Loads the class files.
 void releaseSoot()
          Resets Soot.
(package private) static void startPhase(String msg)
          Marks the start of a phase.
 void transformFlowGraph(FlowGraph g)
          Performs various transformations of the given flow graph.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, 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(FlowGraph g,
                             XMLGraphBuilder b)
Analyzes the XML graphs.


buildFlowGraph

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


buildXMLGraphs

public XMLGraphBuilder buildXMLGraphs(FlowGraph g)
Builds the XML graphs.


endPhase

static void endPhase()
Marks the end of a phase. For debug info only.


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.


startPhase

static void startPhase(String msg)
Marks the start of a phase. For debug info only.


transformFlowGraph

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



Copyright © 2005-2008 Aarhus University.