Back to results

Robert Gordon University

A lightweight, graph-theoretic model of class-based similarity to support object-oriented code reuse.

Abstract

dc:description.abstract

The work presented in this thesis is principally concerned with the development of a method and set of tools designed to support the identification of class-based similarity in collections of object-oriented code. Attention is focused on enhancing the potential for software reuse in situations where a reuse process is either absent or informal, and the characteristics of the organisation are unsuitable, or resources unavailable, to promote and sustain a systematic approach to reuse. The approach builds on the definition of a formal, attributed, relational model that captures the inherent structure of class-based, object-oriented code. Based on code-level analysis, it relies solely on the structural characteristics of the code and the peculiarly object-oriented features of the class as an organising principle: classes, those entities comprising a class, and the intra and inter-class relationships existing between them, are significant factors in defining a two-phase similarity measure as a basis for the comparison process. Established graph-theoretic techniques are adapted and applied via this model to the problem of determining similarity between classes. This thesis illustrates a successful transfer of techniques from the domains of molecular chemistry and computer vision. Both domains provide an existing template for the analysis and comparison of structures as graphs. The inspiration for representing classes as attributed relational graphs, and the application of graph-theoretic techniques and algorithms to their comparison, arose out of a well-founded intuition that a common basis in graph-theory was sufficient to enable a reasonable transfer of these techniques to the problem of determining similarity in object-oriented code. The practical application of this work relates to the identification and indexing of instances of recurring, class-based, common structure present in established and evolving collections of object-oriented code. A classification so generated additionally provides a framework for class-based matching over an existing code-base, both from the perspective of newly introduced classes, and search "templates" provided by those incomplete, iteratively constructed and refined classes associated with current and on-going development. The tools and techniques developed here provide support for enabling and improving shared awareness of reuse opportunity, based on analysing structural similarity in past and ongoing development, tools and techniques that can in turn be seen as part of a process of domain analysis, capable of stimulating the evolution of a systematic reuse ethic.

Degree

thesis:*
Name dc:type.qualificationname
PhD
Level dc:type.qualificationlevel
Doctoral
Grantor dc:publisher.institution
Robert Gordon University
Year dc:date.issued
2003

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • MacLean, Angus
Advisor dc:contributor.advisor
  • J. McCall, D. Brown and D. Crossen

Subjects

dc:subject × 4

Rights

Language dc:language
en

Identifiers

dc:identifier.*
Identifier
oai:rgu-repository.worktribe.com:1871759
https://doi.org/10.48526/rgu-wt-1871759
OAI identifier oai:identifier
oai:rgu-repository.worktribe.com:1871759

Chain of custody

source
Harvested from
Robert Gordon University
Base URL
rgu-repository.worktribe.com/oaiprovider
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
citation

MacLean, Angus. A lightweight, graph-theoretic model of class-based similarity to support object-oriented code reuse.. Doctoral thesis, Robert Gordon University, 2003. https://rgu-repository.worktribe.com/1871759/1/MACLEAN%202003%20A%20lightweight%20graph