Data re-engineering using formal transformations

This thesis presents and analyses a solution to the problem of formally re- engineering program data structures, allowing new representations of a program to be developed. The work is based around Ward's theory of program transformations which uses a Wide Spectrum Language, WSL, whose semantics...

Full description

Bibliographic Details
Main Author: Mortimer, Richard Eric
Published: Durham University 1998
Subjects:
005
Online Access:http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.241810
id ndltd-bl.uk-oai-ethos.bl.uk-241810
record_format oai_dc
spelling ndltd-bl.uk-oai-ethos.bl.uk-2418102015-05-02T03:26:17ZData re-engineering using formal transformationsMortimer, Richard Eric1998This thesis presents and analyses a solution to the problem of formally re- engineering program data structures, allowing new representations of a program to be developed. The work is based around Ward's theory of program transformations which uses a Wide Spectrum Language, WSL, whose semantics were specially developed for use in proof of program transformations. The re-engineered code exhibits equivalent functionality to the original but differs in the degree of data abstraction and representation. Previous transformational re-engineering work has concentrated upon control flow restructuring, which has highlighted a lack of support for data restructuring in the maintainer's tool-set. Problems have been encountered during program transformation due to the lack of support for data re-engineering. A lack of strict data semantics and manipulation capabilities has left the maintainer unable to produce optimally re-engineered solutions. It has also hindered the migration of programs into other languages because it has not been possible to convert data structures into an appropriate form in the target language. The main contribution of the thesis is the Data Re-Engineering and Abstraction Mechanism (DREAM) which allows theories about type equivalence to be represented and used in a re-engineering environment. DREAM is based around the technique of "ghosting", a way of introducing different representations of data, which provides the theoretical underpinning of the changes applied to the program. A second major contribution is the introduction of data typing into the WSL language. This allows DREAM to be integrated into the existing transformation theories within WSL. These theoretical extensions of the original work have been shown to be practically viable by implementation within a prototype transformation tool, the Maintainer's Assistant. The extended tool has been used to re-engineer heavily modified, commercial legacy code. The results of this have shown that useful re-engineering work can be performed and that DREAM integrates well with existing control flow transformations.005Software maintenanceDurham Universityhttp://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.241810http://etheses.dur.ac.uk/4833/Electronic Thesis or Dissertation
collection NDLTD
sources NDLTD
topic 005
Software maintenance
spellingShingle 005
Software maintenance
Mortimer, Richard Eric
Data re-engineering using formal transformations
description This thesis presents and analyses a solution to the problem of formally re- engineering program data structures, allowing new representations of a program to be developed. The work is based around Ward's theory of program transformations which uses a Wide Spectrum Language, WSL, whose semantics were specially developed for use in proof of program transformations. The re-engineered code exhibits equivalent functionality to the original but differs in the degree of data abstraction and representation. Previous transformational re-engineering work has concentrated upon control flow restructuring, which has highlighted a lack of support for data restructuring in the maintainer's tool-set. Problems have been encountered during program transformation due to the lack of support for data re-engineering. A lack of strict data semantics and manipulation capabilities has left the maintainer unable to produce optimally re-engineered solutions. It has also hindered the migration of programs into other languages because it has not been possible to convert data structures into an appropriate form in the target language. The main contribution of the thesis is the Data Re-Engineering and Abstraction Mechanism (DREAM) which allows theories about type equivalence to be represented and used in a re-engineering environment. DREAM is based around the technique of "ghosting", a way of introducing different representations of data, which provides the theoretical underpinning of the changes applied to the program. A second major contribution is the introduction of data typing into the WSL language. This allows DREAM to be integrated into the existing transformation theories within WSL. These theoretical extensions of the original work have been shown to be practically viable by implementation within a prototype transformation tool, the Maintainer's Assistant. The extended tool has been used to re-engineer heavily modified, commercial legacy code. The results of this have shown that useful re-engineering work can be performed and that DREAM integrates well with existing control flow transformations.
author Mortimer, Richard Eric
author_facet Mortimer, Richard Eric
author_sort Mortimer, Richard Eric
title Data re-engineering using formal transformations
title_short Data re-engineering using formal transformations
title_full Data re-engineering using formal transformations
title_fullStr Data re-engineering using formal transformations
title_full_unstemmed Data re-engineering using formal transformations
title_sort data re-engineering using formal transformations
publisher Durham University
publishDate 1998
url http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.241810
work_keys_str_mv AT mortimerricharderic datareengineeringusingformaltransformations
_version_ 1716802603111677952