Issue No. 01 - January/February (2010 vol. 27)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2010.7
Nick Mitchell , IBM Research
Edith Schonberg , IBM Research
Gary Sevitsky , IBM Research
The drive to rapidly develop layered, interconnected, and flexible systems has eclipsed consideration of resource costs. Consequently, large Java applications suffer from runtime bloat: a large and pervasive infrastructure tax, where simple transactions require a few hundred thousand method calls, and a server with 1 Gbyte of memory sometimes can only support a few hundred users. Current Java optimizers and garbage collectors are of little help for these systemic problems. Enterprises face greatly reduced scalability, increased power consumption, and missed deliveries. In this article, the authors detail four global software development trends, along with some widely held myths, that lead to bloat in Java applications. They illustrate their consequences with anecdotes drawn from real applications suffering severe performance and memory issues. While these trends are inevitable, runtime bloat is not. Understanding the sources of bloat can help programmers craft appropriate solutions for the future.
software construction, data storage representations, metrics, measurements, language constructs and features
E. Schonberg, N. Mitchell and G. Sevitsky, "Four Trends Leading to Java Runtime Bloat," in IEEE Software, vol. 27, no. , pp. 56-63, 2010.