Return to search

A software restructuring tool for oberon

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.

Identiferoai:union.ndltd.org:netd.ac.za/oai:union.ndltd.org:sun/oai:scholar.sun.ac.za:10019.1/52134
Date12 1900
CreatorsEloff, Johannes J.
ContributorsDe Villiers, P. J. A., Stellenbosch University. Faculty of Economic and Management Sciences. Dept. of School of Accounting.
PublisherStellenbosch : Stellenbosch University
Source SetsSouth African National ETD Portal
Languageen_ZA
Detected LanguageEnglish
TypeThesis
Format86 p. : ill.
RightsStellenbosch University

Page generated in 0.0025 seconds