Pigs from sausages? Reengineering from assembler to C via FermaT transformations

  • Authors:
  • M. P. Ward

  • Affiliations:
  • Software Technology Research Laboratory, De Montfort University, Leicester, UK

  • Venue:
  • Science of Computer Programming - Special issue on program transformation
  • Year:
  • 2004

Quantified Score

Hi-index 0.01

Visualization

Abstract

Software reengineering has been described as being "about as easy as reconstructing a pig from a sausage" (Comput. Canada 18 (1992) 35). 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.