BLOAT
The Bytecode-Level Optimizer and Analysis Tool

BLOAT is Java bytecode optimizer written entirely in Java that was developed by Nathaniel Nystrom and improved by David Whitlock in their graduate studies at Purdue, supervised by Antony Hosking. By optimizing Java bytecode, code improvements can occur regardless of the compiler that compiled the bytecode or the virtual machine on which the bytecode is run. BLOAT performs many traditional program optimizations such as constant/copy propagation, constant folding and algebraic simplefication, dead code elemination, and peephole optimizations. Additionally, it performs partial redundency elimination of arithmetic and field access paths.

BLOAT is part of the ongoing research efforts of the Programming for Persistent Systems research group at Purdue University. Originally, BLOAT technology was being applied to classes residing inside the persistent PJama environment.

BLOAT resources

Antony Hosking hosking@cs.purdue.edu