Scalable Runtime Bloat Detection Using Abstract Dynamic Slicing

Many large-scale Java applications suffer from runtime bloat. They execute large volumes of methods, and create many temporary objects, all to execute relatively simple operations. There are large opportunities for performance optimizations in these applications, but most are being missed by existing optimization and tooling technology. While JIT optimizations struggle for a few percent improvements, performance experts analyze deployed applications and regularly find gains of 2