Most existing software optimization research assumes advance knowledge of the component parameters. Perfect future knowledge of fault detection is an unnecessary oversimplification and greatly diminishes the applicability of the previously proposed techniques. While efficient resource allocation is essential, these studies ignore the importance of components within a software’s architecture. In this paper we present an adaptive optimization procedure that periodically assesses the testing process and allocates time to components. Using a case study, we illustrate how our approach adapts, increasing resources to a component when more failures are observed during testing. The results suggest that this interactive method is responsive to clusters of faults encountered during testing and can help to minimize the time needed to optimize software.
Lance Fiondella, Swapna S. Gokhale