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.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.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.