Identifying and addressing problems in object-oriented framework reuse

Kirk, D. and Roper, M. and Wood, M. (2007) Identifying and addressing problems in object-oriented framework reuse. Empirical Software Engineering, 12 (3). pp. 243-274. ISSN 1382-3256 (http://dx.doi.org/10.1007/s10664-006-9027-z)

Full text not available in this repository.Request a copy

Abstract

This paper describes the results of a long-term empirical investigation into object-oriented framework reuse. The aim is to identify the major problems that occur during framework reuse and the impact of current documentation techniques on these problems. Four major reuse problems are identified: understanding the functionality of framework components; understanding the interactions between framework components; understanding the mapping from the problem domain to the framework implementation; understanding the architectural assumptions in the framework design. Two forms of documentation are identified as having the potential to address these problems, namely pattern languages and micro-architecture descriptions. An in-depth, qualitative analysis suggests that, although pattern languages do provide useful support in terms of introducing framework concepts, this can be bypassed by developers using their previous knowledge, occasionally to the detriment of the final solution. Micro-architecture documentation appears to provide support for simple interaction and functionality queries, but it is not able to address large scale interaction problems involving multiple classes within the framework. The paper concludes that, although a combination of pattern language and microarchitecture documentation is useful for framework reuse, the forms of these documentation types used in this study require further enhancement to become effective. The paper also serves as an example to encourage others to perform evaluation of framework understanding and documentation.

ORCID iDs

Kirk, D., Roper, M. ORCID logoORCID: https://orcid.org/0000-0001-6794-4637 and Wood, M. ORCID logoORCID: https://orcid.org/0000-0002-9449-1036;