Back to results

Brunel University, School of Information Systems, Computing and Mathematics

An empirical investigation of inheritance trends in JAVA OSS evolution

Abstract

dc:description.abstract

Inheritance is a salient feature of Object-Oriented (OO) paradigm which facilitates reuse and improves system comprehensibility in OO systems. The overall aim of inheritance is to model classes in a structured hierarchy where classes residing lower in the hierarchy (subclasses) can inherit the pre-existing functionality in the classes located higher up (superclasses) in the same line of hierarchy. Software maintenance and evolution are the process of making any modifications to a software system and upgrading its dynamic behaviour. In this Thesis, we empirically investigate the trends of evolution of eight Java Open-Source Systems (OSS) from an inheritance perspective and model the propensity for changes of inheritance in those systems. The systems used as testbed in this Thesis represent a variety of application domains with varying sizes and amount of inheritance employed. There are several levels of granularity for inheritance evolution that may manifest a particular trend. This starts from the highest level (package) to lower class, method an attribute levels; and each level may show a different and yet an important pattern of evolution. We empirically investigate the changes of inheritance in the form of increases (additions) and decreases (deletions) in number of classes, methods and attributes. Our analysis also includes the movement of classes within and across an inheritance hierarchy which is another compelling facet of evolution of inheritance and may not be extrapolated through incremental changes only. It requires a finer-grained scrutiny of evolutionary traits of inheritance. In addition, the Thesis also explores the trends of class interaction within and across an inheritance hierarchy and problems embedded in a system that may lead to faults, from an inheritance perspective. The results demonstrate how inheritance is used in practice, problems associated with inheritance and how inheritance hierarchies evolve as opposed to that of a ‘system’. Overall results informed our understanding of the trends in changes of inheritance in the evolution of Java systems.

Degree

thesis:*
Grantor dc:publisher
Brunel University, School of Information Systems, Computing and Mathematics
Year dc:date.issued
2009

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Nasseri, Emal
Advisors dc:contributor.advisor
  • Counsell, S
  • Shepperd, M

Rights

Language dc:language.iso
en

Identifiers

dc:identifier.*
Repository record dc:identifier.uri
http://bura.brunel.ac.uk/handle/2438/3643
OAI identifier oai:identifier
oai:bura.brunel.ac.uk:2438/3643

Chain of custody

source
Harvested from
University of Brunel
Base URL
bura.brunel.ac.uk/oai/request
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
related terms
citation

Nasseri, Emal. An empirical investigation of inheritance trends in JAVA OSS evolution. Brunel University, School of Information Systems, Computing and Mathematics, 2009. http://bura.brunel.ac.uk/handle/2438/3643