Full Text Available

Note: Clicking the button above will open the full text document at the original institutional repository in a new window.

A software restructuring tool for oberon

Thesis (MComm) -- University of Stellenbosch, 2001.

Saved in:
Bibliographic Details
Main Author: Eloff, Johannes J.
Other Authors: De Villiers, P. J. A.
Format: Thesis
Language:en_ZA
Published: Stellenbosch : Stellenbosch University 2012
Subjects:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1867613798953648128
access_status_str Open Access
author Eloff, Johannes J.
author2 De Villiers, P. J. A.
author_browse De Villiers, P. J. A.
Eloff, Johannes J.
author_facet De Villiers, P. J. A.
Eloff, Johannes J.
author_sort Eloff, Johannes J.
collection Thesis
dc_rights_str_mv Stellenbosch University
description Thesis (MComm) -- University of Stellenbosch, 2001.
format Thesis
id oai:scholar.sun.ac.za:10019.1/52134
institution Stellenbosch University (South Africa)
language en_ZA
last_indexed 2026-06-10T12:41:52.972Z
license_str Other — see source repository
provenance_str_mv Harvested via OAI-PMH from SUNScholar — Stellenbosch University Repository
publishDate 2012
publishDateRange 2012
publishDateSort 2012
publisher Stellenbosch : Stellenbosch University
publisherStr Stellenbosch : Stellenbosch University
record_format dspace
source_str SUNScholar — Stellenbosch University Repository
spelling oai:scholar.sun.ac.za:10019.1/52134 A software restructuring tool for oberon Eloff, Johannes J. De Villiers, P. J. A. Stellenbosch University. Faculty of Economic and Management Sciences. Dept. of School of Accounting. Oberon Software refactoring Dissertations -- Computer science Thesis (MComm) -- University of Stellenbosch, 2001. ENGLISH ABSTRACT: Software restructuring is a form of perfective maintenance that modifies the structure of a program's source code. lts goal is increased maintainability to better facilitate other maintenance activities, such as adding new functionality or correcting previously undetected errors. The modification of structure is achieved by applying transformations to the source code of a software system. Software engineers often attempt to restructure software by manually transforming the source code. This approach may lead to undesirable and undetectable changes in its behaviour. Ensuring that manual transformations preserve functionality during restructuring is difficult; guaranteeing it is almost impossible. One solution to the problem of manual restructuring is automation through use of a restructuring tool. The tool becomes responsible to examine each transformation and determine its impact on the software's behaviour. If a transformation preserves functionality, it may be applied to produce new source code. The tool only automates the application of transformations. The decision regarding which transformation to apply in a specific situation still resides with the maintainer. This thesis describes the design and implementation of a restructuring tool for the Oberon language, a successor of Pascal and Modula-2, under the PC Native Oberon operating system. The process of creating an adequate abstraction of a program's structure and its use to apply transformations and generate new source code are investigated. Transformations can be divided into different classes: Scoping, Syntactic, Control flow and Abstraction transformations. The restructuring tool described in this thesis contains implementations from all four classes. Informal arguments regarding the correctness of each transformation are also presented. AFRIKAANSE OPSOMMING: Die herstrukturering van programmatuur is daarop gemik om die struktuur van 'n program se bronkode te wysig. Hierdie strukturele veranderings dien in die algemeen as voorbereiding vir meer omvangryke onderhoudsaktiwiteite, soos byvoorbeeld die toevoeging van nuwe funksionaliteit of die korrigering van foute wat voorheen verskuil was. Die verandering in struktuur word teweeggebring deur die toepassing van transformasies op die bronkode. Programmatuur-ontwikkelaars voer dikwels sulke transformasies met die hand uit. Sulke optrede kan problematies wees indien 'n transformasie die funksionaliteit, in terme van programgedrag, van die programmatuur beïnvloed. Dit is moeilik om te verseker dat bogenoemde metode funksionaliteit sal behou; om dit te waarborg is so te sê onmoontlik. 'n Oplossing vir bogenoemde probleem is die outomatisering van die herstruktureringsproses deur die gebruik van gespesialiseerde programmatuur. Hierdie programmatuur is in staat om die nodige transformasies toe te pas en terselfdertyd funksionaliteit te waarborg. Die keuse vir die toepassing van 'n spesifieke transformasie lê egter steeds by die programmeerder. Hierdie tesis bespreek die ontwerp en implementering van programmatuur om bronkode, geskryf in Oberon (die opvolger van Pascal en Modula-2), te herstruktureer. Die skep van 'n voldoende abstrakte voorstelling van bronkode, die gebruik van sodanige voorstelling in die toepassing van transformasies en die reprodusering van nuwe bronkode, word bespreek. Transformasies kan in vier breë klasse verdeel word: Bestek, Sintaks, Kontrolevloei en Abstraksie. Die programmatuur wat ontwikkel is vir hierdie tesis bevat voorbeelde uit elkeen van die voorafgenoemde klasse. Informele argumente word aangebied om die korrektheid van die onderskeie transformasies te staaf. Masters 2012-08-27T11:34:52Z 2012-08-27T11:34:52Z 2001-12 Thesis http://hdl.handle.net/10019.1/52134 en_ZA Stellenbosch University 86 p. : ill. application/pdf Stellenbosch : Stellenbosch University
spellingShingle Oberon
Software refactoring
Dissertations -- Computer science
Eloff, Johannes J.
A software restructuring tool for oberon
title A software restructuring tool for oberon
title_full A software restructuring tool for oberon
title_fullStr A software restructuring tool for oberon
title_full_unstemmed A software restructuring tool for oberon
title_short A software restructuring tool for oberon
title_sort software restructuring tool for oberon
topic Oberon
Software refactoring
Dissertations -- Computer science
url http://hdl.handle.net/10019.1/52134
work_keys_str_mv AT eloffjohannesj asoftwarerestructuringtoolforoberon
AT eloffjohannesj softwarerestructuringtoolforoberon