General Options

-h
-help
Display help and exit
-pl
-phase-list
Print list of available phases
-ph phase
-phase-help phase
Print help for specified phase
-version
Display version information and exit
-v
-verbose
Verbose mode
-app
Run in application mode
-w
-whole-program
Run in whole-program mode
-debug
Print various Soot debugging info

Input Options

-cp path
-soot-class-path path
-soot-classpath path
Use path as the classpath for finding classes.
-process-dir dir
Process all classes found in dir
-src-prec format
class 
jimple 
Sets source precedence to format files
-allow-phantom-refs
Allow unresolved classes; may cause errors

Output Options

-d dir
-output-dir dir
Store output files in dir
-f format
-output-format format
jimple 
jimp 
shimple 
shimp 
baf 

grimple 
grimp 
xml 
none 
jasmin 
class 
dava 
Set output format for Soot
-xml-attributes
Save tags to XML attributes for Eclipse

Processing Options

-p phase opt:val
-phase-option phase opt:val
Set phase's opt option to value
-O
-optimize
Perform intraprocedural optimizations
-W
-whole-optimize
Perform whole program optimizations
-via-grimp
Convert to bytecode via Grimp instead of via Baf
-via-shimple
Enable Shimple SSA representation

Application Mode Options

-i pkg
-include pkg
Include classes in pkg as application classes
-x pkg
-exclude pkg
Exclude classes in pkg from application classes
-dynamic-class class
Note that class may be loaded dynamically
-dynamic-dir dir
Mark all classes in dir as potentially dynamic
-dynamic-package pkg
Marks classes in pkg as potentially dynamic

Input Attribute Options

-keep-line-number
Keep line number tables
-keep-bytecode-offset
-keep-offset
Attach bytecode offset to IR

Annotation Options

-annot-nullpointer
Emit null pointer attributes
-annot-arraybounds
Emit array bounds check attributes
-annot-side-effect
Emit side-effect attributes
-annot-fieldrw
Emit field read/write attributes

Miscellaneous Options

-time
Report time required for transformations
-subtract-gc
Subtract gc from time

Phases and phase options