Increasingly, new applications are being built by composing existing software components rather than by coding a system from scratch. Using this approach, applications can be built quickly. Far too often, however, these applications do not exhibit acceptable performance. The benefits of construction through composition could be more reliably achieved if a software engineer could assess the performance impact of a component prior to its use. In this paper, we present our experiences of taking a straightforward approach to a piece of this problem: predicting the memory use of an existing component for a new application. The approach consists of annotating a structural view a class diagram of an object-oriented component with data gathered from sample existing uses of the component. The annotated view is then used as a basis for prediction. Our experience highlights several of the difficulties software engineers face in not only predicting, but also in analyzing, the space performa...
Gail C. Murphy, Ekaterina Saenko