GGrantIndex
← Search

SHF: Small: Algorithms for Dynamic Analysis of Run-Time Bloat

$356,531FY2010CSENSF

Ohio State University, The, Columbus OH

Investigators

Abstract

Many object-oriented programs, and in particular large enterprise applications, suffer from chronic run-time bloat: the excessive memory usage and run-time work that occur as part of seemingly simple computations. Such bloat significantly affects scalability and performance, and presents a serious problem for software used every day by thousands of businesses. Performance tuning may find substantial optimization opportunities, but it is very labor-intensive and requires a great deal of skill. This project develops novel algorithms for run-time analysis of Java programs to identify the symptoms of bloat and to pinpoint their causes. These algorithms can be used in checking tools during software development, and later in tuning tools for performance debugging. A framework for algorithm design and implementation defines a generalized form of a run-time data dependence graph, with abstractions specific to the targeted analysis, and with several dimensions of parameterization. Framework instances are used to create analyses of temporary data structures, analyses of copy chains, data structure cost-benefit analyses, and analyses of inefficiently-used containers. Experimental evaluation investigates the cost/precision trade-offs in the design and implementation of these algorithms, and their effectiveness in helping a programmer to improve performance. The project provides a foundation for systematic exploration of bloat analyses, which will help increase software performance and reduce tuning efforts. The framework and its instances will be made publicly available. These advances could become part of development toolkits, leading to higher performance of enterprise applications. Educational efforts will contribute to the skills of the next generation of developers of enterprise systems.

View original record on NSF Award Search →