Packages 
Package Description
EDU.purdue.cs.bloat.benchmark
Contains classes that are used to run benchmarks that measure the performance of BLOATed code.
EDU.purdue.cs.bloat.cfg
Classes to represent a Java method as a control flow graph of basic blocks.
EDU.purdue.cs.bloat.codegen
Generates Java bytecodes from the contents of a control flow graph.
EDU.purdue.cs.bloat.context
Repositories for important BLOAT objects such as the Editor, ClassHierarchy, and FlowGraphs.
EDU.purdue.cs.bloat.decorate
Contains a program that decorates a Java classfile with opcodes used in a persistent Java virtual machine.
EDU.purdue.cs.bloat.diva
Performs demand-driven induction variable analysis on a Java classfile.
EDU.purdue.cs.bloat.dump
Contains a program that prints the contents of a Java classfile to the console.
EDU.purdue.cs.bloat.editor
Allows classes, methods, and fields to be edited.
EDU.purdue.cs.bloat.file
Allows access to Java classes stored in files on disk.
EDU.purdue.cs.bloat.inline
Classes for performing method inlining.
EDU.purdue.cs.bloat.optimize
Contains a program that optimizes Java classes.
EDU.purdue.cs.bloat.reflect
Provides an abstract API for working with Java classfiles.
EDU.purdue.cs.bloat.shrink
Contains a program that performs array initialization compaction on a Java classfile in attempts to make it smaller.
EDU.purdue.cs.bloat.ssa
Converts a control flow graph into static single assignment (SSA) form.
EDU.purdue.cs.bloat.strip
Contains a program that removes non-vital information (such as debugging information) from a Java classfile in an attempt to make it smaller.
EDU.purdue.cs.bloat.tbaa
Performs type-base alias analysis (TBAA) on a control flow graph.
EDU.purdue.cs.bloat.tools  
EDU.purdue.cs.bloat.trans
Performs transformations (optimizations) on a control flow graph.
EDU.purdue.cs.bloat.tree
The classes necessary to create and represent a Java method as an expression tree.
EDU.purdue.cs.bloat.util
Contains a number of utility classes used by BLOAT.