avrora.stack
Class Analyzer

java.lang.Object
  extended byavrora.stack.Analyzer

public class Analyzer
extends java.lang.Object

The Analyzer class implements the analysis phase that determines the transition relation between the states in the abstract state space. It is modelled on the simulator, but only does abstract interpretation rather than executing the entire program.


Nested Class Summary
 class Analyzer.ContextSensitivePolicy
          The ContextSensitive class implements the context-sensitive analysis similar to 1-CFA.
static class Analyzer.FrontierInfo
           
 
Field Summary
protected  Program program
           
protected  avrora.stack.StateSpace.SpecialState returnIState
           
protected  avrora.stack.StateSpace.SpecialState returnState
           
protected  StateSpace space
           
static boolean TRACE
           
 
Constructor Summary
Analyzer(Program p)
           
 
Method Summary
 void report()
          The report() method generates a textual report after the analysis has been completed.
 void run()
          The run() method begins the analysis.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

program

protected final Program program

space

protected final StateSpace space

returnState

protected final avrora.stack.StateSpace.SpecialState returnState

returnIState

protected final avrora.stack.StateSpace.SpecialState returnIState

TRACE

public static boolean TRACE
Constructor Detail

Analyzer

public Analyzer(Program p)
Method Detail

run

public void run()
The run() method begins the analysis. The entrypoint of the program with an initial default state serves as the first state to start exploring.


report

public void report()
The report() method generates a textual report after the analysis has been completed. It reports information about states, reachable states, time for analysis, and of course, the maximum stack size for the program.