Uses of Class
soot.Transformer

Packages that use Transformer
soot Base Soot classes, shared by different intermediate representations. 
soot.baf.toolkits.base A toolkit to optimize the Baf IR. 
soot.grimp.toolkits.base A toolkit to optimize the Grimp IR. 
soot.javaToJimple.toolkits   
soot.jbco.bafTransformations   
soot.jbco.jimpleTransformations   
soot.jimple.paddle   
soot.jimple.spark   
soot.jimple.spark.fieldrw   
soot.jimple.spark.ondemand.pautil   
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.callgraph   
soot.jimple.toolkits.annotation.defs   
soot.jimple.toolkits.annotation.fields   
soot.jimple.toolkits.annotation.liveness   
soot.jimple.toolkits.annotation.logic   
soot.jimple.toolkits.annotation.methods   
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.parity   
soot.jimple.toolkits.annotation.profiling   
soot.jimple.toolkits.annotation.purity   
soot.jimple.toolkits.annotation.qualifiers   
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.callgraph   
soot.jimple.toolkits.graph A set of utility classes for program transformation and optimizations. 
soot.jimple.toolkits.invoke A toolkit to deal with Jimple and invoke statements. 
soot.jimple.toolkits.pointer   
soot.jimple.toolkits.reflection   
soot.jimple.toolkits.scalar A toolkit for scalar optimization of Jimple. 
soot.jimple.toolkits.scalar.pre Particial redundency elimination. 
soot.jimple.toolkits.thread.mhp   
soot.jimple.toolkits.thread.synchronization   
soot.jimple.toolkits.typing Implements a typing algorithm for Jimple. 
soot.shimple Public classes for the SSA Shimple intermediate representation. 
soot.shimple.toolkits.scalar Some analyses based on Shimple. 
soot.tagkit Classes supporting classfile annotation in Soot. 
soot.toolkits.exceptions   
soot.toolkits.scalar A number of scalar optimizations, and the flow analysis framework. 
soot.tools Various extensions to Soot that can be executed instead of soot.Main. 
 

Uses of Transformer in soot
 

Subclasses of Transformer in soot
 class BodyTransformer
          An abstract class which acts on a Body.
 class SceneTransformer
          An abstract class which acts on the whole Scene.
 

Methods in soot that return Transformer
 Transformer Transform.getTransformer()
           
 Transformer Transform.getTransformer()
           
 

Constructors in soot with parameters of type Transformer
Transform(String phaseName, Transformer t)
           
Transform(String phaseName, Transformer t)
           
 

Uses of Transformer in soot.baf.toolkits.base
 

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

Uses of Transformer in soot.grimp.toolkits.base
 

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

Uses of Transformer in soot.javaToJimple.toolkits
 

Subclasses of Transformer in soot.javaToJimple.toolkits
 class CondTransformer
           
 

Uses of Transformer in soot.jbco.bafTransformations
 

Subclasses of Transformer 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 Transformer in soot.jbco.jimpleTransformations
 

Subclasses of Transformer in soot.jbco.jimpleTransformations
 class AddSwitches
           
 class ArithmeticTransformer
           
 class BuildIntermediateAppClasses
           
 class ClassRenamer
           
 class CollectConstants
           
 class CollectJimpleLocals
           
 class FieldRenamer
           
 class GotoInstrumenter
           
 class LibraryMethodWrappersBuilder
           
 class MethodRenamer
           
 

Uses of Transformer in soot.jimple.paddle
 

Subclasses of Transformer in soot.jimple.paddle
 class IPaddleTransformer
          Soot interface to the PaddleTransformer.
 class PaddleHook
          Loads the Paddle plugin.
 

Uses of Transformer in soot.jimple.spark
 

Subclasses of Transformer in soot.jimple.spark
 class SparkTransformer
          Main entry point for Spark.
 

Uses of Transformer in soot.jimple.spark.fieldrw
 

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

Uses of Transformer in soot.jimple.spark.ondemand.pautil
 

Subclasses of Transformer in soot.jimple.spark.ondemand.pautil
 class DumpNumAppReachableMethods
           
 

Uses of Transformer in soot.jimple.toolkits.annotation
 

Subclasses of Transformer 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.
 class LineNumberAdder
           
 

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

Subclasses of Transformer in soot.jimple.toolkits.annotation.arraycheck
 class ArrayBoundsChecker
           
 class RectangularArrayFinder
          Interprocedural analysis to identify rectangular multi-dimension array locals.
 

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

Subclasses of Transformer in soot.jimple.toolkits.annotation.callgraph
 class CallGraphGrapher
          A scene transformer that creates a graphical callgraph.
 class CallGraphTagger
           
 

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

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

Uses of Transformer in soot.jimple.toolkits.annotation.fields
 

Subclasses of Transformer in soot.jimple.toolkits.annotation.fields
 class UnreachableFieldsTagger
          A scene transformer that adds tags to unused fields.
 

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

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

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

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

Uses of Transformer in soot.jimple.toolkits.annotation.methods
 

Subclasses of Transformer in soot.jimple.toolkits.annotation.methods
 class UnreachableMethodsTagger
          A scene transformer that adds tags to unused methods.
 

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

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

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

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

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

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

Uses of Transformer in soot.jimple.toolkits.annotation.purity
 

Subclasses of Transformer in soot.jimple.toolkits.annotation.purity
 class PurityAnalysis
          TODO: - test, test, and test (and correct the potentially infinite bugs) - optimise PurityGraph, especially methodCall) - find a better abstraction for exceptions (throw & catch) - output nicer graphs (especially clusters!)
 

Uses of Transformer in soot.jimple.toolkits.annotation.qualifiers
 

Subclasses of Transformer in soot.jimple.toolkits.annotation.qualifiers
 class TightestQualifiersTagger
          a scene transformer that add tags to indicate the tightest qualifies possible for fields and methods (ie: private, protected or public)
 

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

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

Uses of Transformer in soot.jimple.toolkits.base
 

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

Uses of Transformer in soot.jimple.toolkits.callgraph
 

Subclasses of Transformer in soot.jimple.toolkits.callgraph
 class CHATransformer
          Builds an invoke graph using Class Hierarchy Analysis.
 class ClinitElimTransformer
           
 class UnreachableMethodTransformer
           
 

Uses of Transformer in soot.jimple.toolkits.graph
 

Subclasses of Transformer 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 Transformer in soot.jimple.toolkits.invoke
 

Subclasses of Transformer in soot.jimple.toolkits.invoke
 class StaticInliner
          Uses the Scene's currently-active InvokeGraph to inline monomorphic call sites.
 class StaticMethodBinder
          Uses the Scene's currently-active InvokeGraph to statically bind monomorphic call sites.
 

Uses of Transformer in soot.jimple.toolkits.pointer
 

Subclasses of Transformer 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 Transformer in soot.jimple.toolkits.reflection
 

Subclasses of Transformer in soot.jimple.toolkits.reflection
 class ReflectiveCallsInliner
           
 

Uses of Transformer in soot.jimple.toolkits.scalar
 

Subclasses of Transformer 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 Transformer in soot.jimple.toolkits.scalar.pre
 

Subclasses of Transformer 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 Transformer in soot.jimple.toolkits.thread.mhp
 

Subclasses of Transformer in soot.jimple.toolkits.thread.mhp
 class MhpTransformer
           
 

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

Subclasses of Transformer in soot.jimple.toolkits.thread.synchronization
 class LockAllocationBodyTransformer
           
 class LockAllocator
           
 

Uses of Transformer in soot.jimple.toolkits.typing
 

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

Uses of Transformer in soot.shimple
 

Subclasses of Transformer in soot.shimple
 class ShimpleTransformer
          Traverses all methods, in all classes from the Scene, and transforms them to Shimple.
 

Uses of Transformer in soot.shimple.toolkits.scalar
 

Subclasses of Transformer 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 Transformer in soot.tagkit
 

Subclasses of Transformer 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 InnerClassTagAggregator
          The aggregator for LineNumberTable attribute.
 class LineNumberTagAggregator
          The aggregator for LineNumberTable attribute.
 class TagAggregator
          Interface to aggregate tags of units.
 

Uses of Transformer in soot.toolkits.exceptions
 

Subclasses of Transformer 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 Transformer in soot.toolkits.scalar
 

Subclasses of Transformer 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 Transformer in soot.tools
 

Subclasses of Transformer in soot.tools
 class BadFields
           
 class CFGViewer
          A utility class for generating dot graph file for a control flow graph