de.rwth.dfa.jvm.samples
Class SSAnalyser

java.lang.Object
  |
  +--de.rwth.utils.AbstractClassProcessor
        |
        +--de.rwth.dfa.jvm.samples.AbstractAnalyser
              |
              +--de.rwth.dfa.jvm.samples.SSAnalyser

public class SSAnalyser
extends AbstractAnalyser

An application for analyzing the size of the operand stack at each instruction of all methods of a class file.

Version:
$Id: SSAnalyser.java,v 1.2 2002/09/17 06:53:53 mohnen Exp $
Author:
Markus Mohnen

Fields inherited from class de.rwth.dfa.jvm.samples.AbstractAnalyser
refSolution, table
 
Fields inherited from class de.rwth.utils.AbstractClassProcessor
file, flags
 
Constructor Summary
SSAnalyser(java.lang.String[] args)
          Creates a new SSAnalyser instance.
 
Method Summary
 Abstraction getAbstraction(de.fub.bytecode.classfile.Method method, de.fub.bytecode.classfile.Code code, de.fub.bytecode.classfile.CodeException[] methodExceptions, de.fub.bytecode.generic.InstructionList instrs)
          Returns a SSAbstraction for a method.
 Solver[] getSolvers(Abstraction abstraction, java.lang.String methodName, de.fub.bytecode.generic.InstructionList methodInstrs, de.fub.bytecode.classfile.CodeException[] methodExceptions, Stopwatch stopwatch)
          Returns one group of solvers: ExecutionSolver, FlowGraphSolver, BasicBlockGraphSolver.
static void main(java.lang.String[] args)
          Program entry point.
 
Methods inherited from class de.rwth.dfa.jvm.samples.AbstractAnalyser
checkResult, dumpResult, isAllMode, isStatisticsMode, isVerboseMode, process, process, transferToTable
 
Methods inherited from class de.rwth.utils.AbstractClassProcessor
process, usage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SSAnalyser

public SSAnalyser(java.lang.String[] args)
Creates a new SSAnalyser instance.
Parameters:
args - a String[] value
See Also:
AbstractAnalyser
Method Detail

main

public static void main(java.lang.String[] args)
Program entry point.
Parameters:
args - a String[] value
See Also:
AbstractAnalyser

getAbstraction

public Abstraction getAbstraction(de.fub.bytecode.classfile.Method method,
                                  de.fub.bytecode.classfile.Code code,
                                  de.fub.bytecode.classfile.CodeException[] methodExceptions,
                                  de.fub.bytecode.generic.InstructionList instrs)
Returns a SSAbstraction for a method.
Overrides:
getAbstraction in class AbstractAnalyser
Parameters:
method - a Method value
code - a Code value
methodExceptions - a CodeException[] value
instrs - an InstructionList value
Returns:
an Abstraction value

getSolvers

public Solver[] getSolvers(Abstraction abstraction,
                           java.lang.String methodName,
                           de.fub.bytecode.generic.InstructionList methodInstrs,
                           de.fub.bytecode.classfile.CodeException[] methodExceptions,
                           Stopwatch stopwatch)
Returns one group of solvers: ExecutionSolver, FlowGraphSolver, BasicBlockGraphSolver.
Overrides:
getSolvers in class AbstractAnalyser
Parameters:
abstraction - an Abstraction value
methodName - a String value
methodInstrs - an InstructionList value
methodExceptions - a CodeException[] value
stopwatch - a Stopwatch value
Returns:
a Solver[] value