Defining the problems of framework reuse

Frameworks are an attractive form of reuse due to their paradigmatic simplicity. Unfortunately their size and complexity makes understanding how to use them difficult. In addition documentation to support framework reuse often lacks experimental validation and there is little understanding of what artefacts must be documented to increase the effectiveness of documentation techniques. This report describes an empirical investigation into framework reuse. Its aim is to identify the major problems of reuse and the impact of current documentation techniques on these problems. A qualitative approach is employed and developer experiences are captured from three separate reuse studies using multiple forms of data capture. Four major reuse problems are identified by this report. Understanding the functionality of components; the interactions between components; the mapping from the problem domain to the framework implementation and understanding the architectural assumptions in the framework design. The effectiveness of current forms of documentation is evaluated using these problem categories and, as a result, a number of suggestions for improving developer support during reuse are made.