A study of reusability, complexity, and reuse design principles - Anguswamy, Reghu; Frakes, William B. (Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, 2012)
A study is reported on the relationship of complexity and reuse design principles with the reusability of code components. Reusability of a component is measured as the ease of reuse as perceived by the subjects reusing the component. Thirty-four subjects participated in the study with each subject reusing 5 components, resulting in 170 cases of reuse. The components were randomly assigned to the subjects from a pool of 25 components which were designed and built for reuse. The relationship between the complexity of a component and the ease of reuse was analyzed by a regression analysis. It was observed that the higher the complexity the lower the ease of reuse, but the correlation is not significant. An analysis of the relationship between a set of reuse design principles, used in designing and building the components, and the ease of reuse is also reported. The reuse design principles: well-defined interface, and clarity and understandability significantly increase the ease of reuse, while documentation does not have a significant impact on the ease of reuse.