Uses of Class

Packages that use BodyTransformer
soot.baf.toolkits.base A toolkit to optimize the Baf IR. 
soot.grimp.toolkits.base A toolkit to optimize the Grimp IR. 
soot.jimple.toolkits.annotation A toolkit to annotate classfiles with array and null bounds check information. 
soot.jimple.toolkits.annotation.arraycheck Classes that carry out an analysis to determine whether or not array bounds checks are necessary. 
soot.jimple.toolkits.annotation.nullcheck Classes that carry out an analysis to determine whether or not null pointer checks are necessary. 
soot.jimple.toolkits.annotation.tags Tags and aggregators to store and combine information about array bounds and null pointer checks. 
soot.jimple.toolkits.base A toolkit to optimize the Jimple IR. 
soot.jimple.toolkits.graph A set of utility classes for program transformation and optimizations. 
soot.jimple.toolkits.scalar A toolkit for scalar optimization of Jimple. 
soot.jimple.toolkits.scalar.pre Particial redundency elimination. 
soot.jimple.toolkits.typing Implements a typing algorithm for Jimple. 
soot.shimple.toolkits.scalar Some analyses based on Shimple. 
soot.tagkit Classes supporting classfile annotation in Soot. 
soot.toolkits.scalar A number of scalar optimizations, and the flow analysis framework. Various extensions to Soot that can be executed instead of soot.Main. 

Uses of BodyTransformer in soot.baf.toolkits.base

Subclasses of BodyTransformer in soot.baf.toolkits.base
 class LoadStoreOptimizer
 class PeepholeOptimizer
          Driver class to run peepholes on the Baf IR.

Uses of BodyTransformer in soot.grimp.toolkits.base

Subclasses of BodyTransformer in soot.grimp.toolkits.base
 class ConstructorFolder

Uses of BodyTransformer in soot.javaToJimple.toolkits

Subclasses of BodyTransformer in soot.javaToJimple.toolkits
 class CondTransformer

Uses of BodyTransformer in soot.jbco.bafTransformations

Subclasses of BodyTransformer in soot.jbco.bafTransformations
 class AddJSRs
 class BAFCounter
 class BafLineNumberer
 class BAFPrintout
 class ConstructorConfuser
 class Counter
 class FindDuplicateSequences
 class FixUndefinedLocals
 class IfNullToTryCatch
 class IndirectIfJumpsToCaughtGotos
 class Jimple2BafLocalBuilder
 class LocalsToBitField
 class MoveLoadsAboveIfs
 class RemoveRedundantPushStores
 class TryCatchCombiner
 class UpdateConstantsToFields
 class WrapSwitchesInTrys

Uses of BodyTransformer in soot.jbco.jimpleTransformations

Subclasses of BodyTransformer in soot.jbco.jimpleTransformations
 class AddSwitches
 class ArithmeticTransformer
 class CollectJimpleLocals
 class GotoInstrumenter

Uses of BodyTransformer in soot.jimple.spark.fieldrw

Subclasses of BodyTransformer in soot.jimple.spark.fieldrw
 class FieldReadTagAggregator
 class FieldTagAggregator
 class FieldTagger
 class FieldWriteTagAggregator

Uses of BodyTransformer in soot.jimple.toolkits.annotation

Subclasses of BodyTransformer in soot.jimple.toolkits.annotation
 class AvailExprTagger
          A body transformer that records avail expression information in tags.
 class DominatorsTagger
          A body transformer that records avail expression information in tags.

Uses of BodyTransformer in soot.jimple.toolkits.annotation.arraycheck

Subclasses of BodyTransformer in soot.jimple.toolkits.annotation.arraycheck
 class ArrayBoundsChecker

Uses of BodyTransformer in soot.jimple.toolkits.annotation.callgraph

Subclasses of BodyTransformer in soot.jimple.toolkits.annotation.callgraph
 class CallGraphTagger

Uses of BodyTransformer in soot.jimple.toolkits.annotation.defs

Subclasses of BodyTransformer in soot.jimple.toolkits.annotation.defs
 class ReachingDefsTagger

Uses of BodyTransformer in soot.jimple.toolkits.annotation.liveness

Subclasses of BodyTransformer in soot.jimple.toolkits.annotation.liveness
 class LiveVarsTagger

Uses of BodyTransformer in soot.jimple.toolkits.annotation.logic

Subclasses of BodyTransformer in soot.jimple.toolkits.annotation.logic
 class LoopFinder
 class LoopInvariantFinder

Uses of BodyTransformer in soot.jimple.toolkits.annotation.nullcheck

Subclasses of BodyTransformer in soot.jimple.toolkits.annotation.nullcheck
 class NullCheckEliminator
 class NullPointerChecker
 class NullPointerColorer

Uses of BodyTransformer in soot.jimple.toolkits.annotation.parity

Subclasses of BodyTransformer in soot.jimple.toolkits.annotation.parity
 class ParityTagger
          A body transformer that records parity analysis information in tags.

Uses of BodyTransformer in soot.jimple.toolkits.annotation.profiling

Subclasses of BodyTransformer in soot.jimple.toolkits.annotation.profiling
 class ProfilingGenerator

Uses of BodyTransformer in soot.jimple.toolkits.annotation.tags

Subclasses of BodyTransformer in soot.jimple.toolkits.annotation.tags
 class ArrayNullTagAggregator
          The aggregator for ArrayNullCheckAttribute.

Uses of BodyTransformer in soot.jimple.toolkits.base

Subclasses of BodyTransformer in soot.jimple.toolkits.base
 class Aggregator
 class ExceptionChecker
 class JimpleConstructorFolder
 class PartialConstructorFolder
 class ThisInliner

Uses of BodyTransformer in soot.jimple.toolkits.callgraph

Subclasses of BodyTransformer in soot.jimple.toolkits.callgraph
 class ClinitElimTransformer
 class UnreachableMethodTransformer

Uses of BodyTransformer in soot.jimple.toolkits.graph

Subclasses of BodyTransformer in soot.jimple.toolkits.graph
 class CriticalEdgeRemover
          removes all critical edges.
A critical edge is an edge from Block A to block B, if B has more than one predecessor and A has more the one successor.
As an example: If we wanted a computation to be only on the path A->B this computation must be directly on the edge.
 class LoopConditionUnroller
          "unrolls" the condition of while/for loops.
before the first test of a while-loop, we can't be sure, if the body will be taken or not, and several optimizations (especially LCM) can't be done.

Uses of BodyTransformer in soot.jimple.toolkits.pointer

Subclasses of BodyTransformer in soot.jimple.toolkits.pointer
 class CastCheckEliminatorDumper
          A body transformer that simply calls the CastCheckEliminator analysis.
 class DependenceTagAggregator
 class FieldRWTagger
 class ParameterAliasTagger
          Adds colour tags to indicate potential aliasing between method parameters.
 class SideEffectTagger

Uses of BodyTransformer in soot.jimple.toolkits.scalar

Subclasses of BodyTransformer in soot.jimple.toolkits.scalar
 class CommonSubexpressionEliminator
          Runs an available expressions analysis on a body, then eliminates common subexpressions.
 class ConditionalBranchFolder
 class ConstantPropagatorAndFolder
          Does constant propagation and folding.
 class CopyPropagator
 class DeadAssignmentEliminator
 class LocalNameStandardizer
 class NopEliminator
 class UnconditionalBranchFolder
 class UnreachableCodeEliminator

Uses of BodyTransformer in soot.jimple.toolkits.scalar.pre

Subclasses of BodyTransformer in soot.jimple.toolkits.scalar.pre
 class BusyCodeMotion
          Performs a partial redundancy elimination (= code motion).
 class LazyCodeMotion
          Performs a partial redundancy elimination (= code motion).

Uses of BodyTransformer in soot.jimple.toolkits.thread.synchronization

Subclasses of BodyTransformer in soot.jimple.toolkits.thread.synchronization
 class LockAllocationBodyTransformer

Uses of BodyTransformer in soot.jimple.toolkits.typing

Subclasses of BodyTransformer in soot.jimple.toolkits.typing
 class TypeAssigner
          This transformer assigns types to local variables.

Uses of BodyTransformer in soot.shimple.toolkits.scalar

Subclasses of BodyTransformer in soot.shimple.toolkits.scalar
 class SConstantPropagatorAndFolder
          A powerful constant propagator and folder based on an algorithm sketched by Cytron et al that takes conditional control flow into account.

Uses of BodyTransformer in soot.tagkit

Subclasses of BodyTransformer in soot.tagkit
 class FirstTagAggregator
          A tag aggregator that associates a tag with the first instruction that is tagged with it.
 class ImportantTagAggregator
          A tag aggregator that associates a tag with the most important instruction that is tagged with it.
 class LineNumberTagAggregator
          The aggregator for LineNumberTable attribute.
 class TagAggregator
          Interface to aggregate tags of units.

Uses of BodyTransformer in soot.toolkits.exceptions

Subclasses of BodyTransformer in soot.toolkits.exceptions
 class TrapTightener
          A BodyTransformer that shrinks the protected area covered by each Trap in the Body so that it begins at the first of the Body's Units which might throw an exception caught by the Trap and ends just after the last Unit which might throw an exception caught by the Trap.

Uses of BodyTransformer in soot.toolkits.scalar

Subclasses of BodyTransformer in soot.toolkits.scalar
 class LocalPacker
          A BodyTransformer that attemps to minimize the number of local variables used in Body by 'reusing' them when possible.
 class LocalSplitter
          A BodyTransformer that attemps to indentify and separate uses of a local varible that are independent of each other.
 class UnusedLocalEliminator
          A BodyTransformer that removes all unused local variables from a given Body.

Uses of BodyTransformer in

Subclasses of BodyTransformer in
 class CFGViewer
          A utility class for generating dot graph file for a control flow graph