Automatic program specialization for Java

Ulrik Pagh Schultz, Julia L. Lawall, Charles Consel. Automatic program specialization for Java. ACM Transactions on Programming Languages and Systems, 25(4):452-499, 2003. [doi]


The object-oriented style of programming facilitates program adaptation and enhances program genericness, but at the expense of efficiency. We demonstrate experimentally that state-of-the-art Java compilation technology fails to compensate for the use of object-oriented abstractions to implement generic programs, and that program specialization can be used to eliminate these overheads. We present an automatic program specializer for Java, and demonstrate experimentally that significant speedups in program execution time can be obtained through automatic specialization. Although automatic program specialization could be seen as overlapping with existing optimizing compiler technology, we show that specialization and compiler optimization are in fact complementary.