R. Harrison et al., Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems, J SYST SOFT, 52(2-3), 2000, pp. 173-179
In this paper, we describe an empirical investigation into the modifiabilit
y and understandability of object-oriented (OO) software. A controlled expe
riment was conducted to establish the effects of varying levels of inherita
nce on understandability and modifiability. The software used in this exper
iment consisted of a C++ system without any inheritance and a corresponding
version containing three levels of inheritance, as well as a second larger
C++ system without inheritance and a corresponding version with five level
s of inheritance. For both of the systems, the application modelled a datab
ase for a University personnel system. A number of statistical hypotheses w
ere tested. Results indicated that the systems without inheritance were eas
ier to modify than the corresponding systems containing three or five level
s of inheritance. Also, it was easier to understand the system without inhe
ritance than a corresponding version containing three levels of inheritance
. Results also indicated that larger systems are equally difficult to under
stand whether or not they contain inheritance. The results contained in thi
s paper highlight the need for further empirical investigations in this are
a, particularly into the benefits of using inheritance. (C) 2000 Elsevier S
cience Inc. All rights reserved.