Brunel University Research Archive (BURA) >
Research Areas >
Software Engineering (B-SERC) >

Please use this identifier to cite or link to this item:

Title: An empirical study of evolution of inheritance in Java OSS
Authors: Nasseri, E
Counsell, S
Shepperd, M J
Keywords: object-orientation
open source software
Publication Date: 2006
Publisher: ACM Press
Citation: International Symposium on Empirical Software Engineering 2006.Pages: 288 - 296 . ACM/IEEE
Abstract: Previous studies of Object-Oriented (OO) software have reported avoidance of the inheritance mechanism and cast doubt on the wisdom of ‘deep’ inheritance levels. From an evolutionary perspective, the picture is unclear - we still know relatively little about how, over time, changes tend to be applied by developers. Our conjecture is that an inheritance hierarchy will tend to grow ‘breadth-wise’ rather than ‘depth-wise’. This claim is made on the basis that developers will avoid extending depth in favour of breadth because of the inherent complexity of having to understand the functionality of superclasses. Thus the goal of our study is to investigate this empirically. We conduct an empirical study of seven Java Open-Source Systems (OSSs) over a series of releases to observe the nature and location of changes within the inheritance hierarchies. Results show a strong tendency for classes to be added at levels one and two of the hierarchy (rather than anywhere else). Over 96% of classes added over the course of the versions of all systems were at level 1 or level 2. The results suggest that changes cluster in the shallow levels of a hierarchy; this is relevant for developers since it indicates where remedial activities such as refactoring should be focused.
ISBN: 1-59593-218-6
Appears in Collections:Computer Science
Software Engineering (B-SERC)
Dept of Computer Science Research Papers

Files in This Item:

File Description SizeFormat
ASWEC2008FORMSUB.pdf323.36 kBAdobe PDFView/Open

Items in BURA are protected by copyright, with all rights reserved, unless otherwise indicated.