White Papers
Pigs from Sausages?
(291K)
Reengineering
from Assembler to C via FermaT Transformations M. Ward
Science of Computer Programming.
Abstract
Software reengineering has been described as being ``about as easy as
reconstructing a pig from a sausage''. But the development of program
transformation theory, as embodied in the FermaT transformation system,
has made this miraculous feat into a practical possibility. This paper
describes the theory behind the FermaT system and describes a recent
migration project in which over 544,000 lines of assembler ``sausage''
(part of a large embedded system) were transformed into efficient and
maintainable structured C code.
Program Slicing via FermaT Transformations
(169K)
M. Ward COMPSAC 2002, 26th Annual
International Computer Software and Applications Conference Oxford,
England, 26th-29th August 2002 IEEE Computer Society
Abstract
In this paper we describe how the concept of program slicing can be
formalised in WSL transformation theory. This formalism naturally lends
itself to several generalisations including amorphous slicing and
conditioned slicing. One novel generalisation is ``semantic slicing''
which combines slicing and abstraction to a specification. Interprocedural
semantic slicing has been implemented in the FermaT transformation system:
an industrial-strength transformation system designed for forward and
reverse engineering, re-engineering and program comprehension.
The FermaT Assembler Re-engineering Workbench
(642K)
M. Ward International Conference on Software
Maintenance 2001, 6th-9th November 2001, Florence, Italy IEEE Computer
Society
Abstract
Research into the working practices of software engineers has shown
the need for integrated browsing and searching tools which include
graphical visualisations linked back to the source code under
investigation. In addition, for assembler maintenance and re-engineering
there is an even greater need for sophisticated control flow analysis,
data flow analysis, slicing and migration technology. All these
technologies are provided by the FermaT Workbench: an industrial-strength
assembler re-engineering workbench consisting of a number of integrated
tools for program comprehension, migration and re-engineering. The various
program analysis and migrations tools are based on research carried out
over the last sixteen years at Durham University, De Montfort University
and Software Migrations Ltd., and make extensive use of program
transformation theory.
Abstract
The FermaT transformation system, based on research carried out over
the last sixteen years at Durham University, De Montfort University and
Software Migrations Ltd., is an industrial-strength formal transformation
engine with many applications in program comprehension and language
migration. This paper is a case study which uses automated plus
manually-directed transformations and abstractions to convert an IBM 370
Assembler code program into a very high-level abstract specification.
Abstract
The FermaT transformation system, based on research carried out over
the last twelve years at Durham University and Software Migrations Ltd.,
is an industrial-strength formal transformation engine with many
applications in program comprehension and language migration. This paper
describes one application of the system: the migration of IBM 370
Assembler code to equivalent, maintainable C code. We present an example
of using the tool to migrate a small, but complex, assembler module to C
with no manual intervention required. We briefly discuss a mass migration
exercise where 1,925 assembler modules were successfully migrated to C
code.
|