Picture of UK Houses of Parliament

Leading national thinking on politics, government & public policy through Open Access research

Strathprints makes available scholarly Open Access content by researchers in the School of Government & Public Policy, based within the Faculty of Humanities & Social Sciences.

Research here is 1st in Scotland for research intensity and spans a wide range of domains. The Department of Politics demonstrates expertise in understanding parties, elections and public opinion, with additional emphases on political economy, institutions and international relations. This international angle is reflected in the European Policies Research Centre (EPRC) which conducts comparative research on public policy. Meanwhile, the Centre for Energy Policy provides independent expertise on energy, working across multidisciplinary groups to shape policy for a low carbon economy.

Explore the Open Access research of the School of Government & Public Policy. Or explore all of Strathclyde's Open Access research...

An empirical study evaluating depth of inheritance on the maintainability of object-oriented software

Daly, J. and Brooks, A. and Miller, J. and Roper, M. and Wood, M. (1996) An empirical study evaluating depth of inheritance on the maintainability of object-oriented software. In: Empirical Studies of Programmers: Sixth Workshop. Intellect, pp. 39-58. ISBN 9781567502626

[img]
Preview
PDF (strathprints002676.pdf)
strathprints002676.pdf

Download (220kB)| Preview

    Abstract

    This empirical research was undertaken as part of a multi-method programme of research to investigate unsupported claims made of object-oriented technology. A series of subject-based laboratory experiments, including an internal replication, tested the effect of inheritance depth on the maintainability of object-oriented software. Subjects were timed performing identical maintenance tasks on object-oriented software with a hierarchy of three levels of inheritance depth and equivalent object-based software with no inheritance. This was then replicated with more experienced subjects. In a second experiment of similar design, subjects were timed performing identical maintenance tasks on object-oriented software with a hierarchy of five levels of inheritance depth and the equivalent object-based software. The collected data showed that subjects maintaining object-oriented software with three levels of inheritance depth performed the maintenance tasks significantly quicker than those maintaining equivalent object-based software with no inheritance. In contrast, subjects maintaining the object-oriented software with five levels of inheritance depth took longer, on average, than the subjects maintaining the equivalent object-based software (although statistical significance was not obtained). Subjects' source code solutions and debriefing questionnaires provided some evidence suggesting subjects began to experience diffculties with the deeper inheritance hierarchy. It is not at all obvious that object-oriented software is going to be more maintainable in the long run. These findings are sufficiently important that attempts to verify the results should be made by independent researchers.