Re Engineering

Program-Transformation.Org: The Program Transformation Wiki
The ReverseAndReengineeringTaxonomy defines reengineering as:

the examination and alteration of a subject system to reconstitute it in a new form and the subsequent implementation of the new form.

It is often presented as consisting of three steps, involving

This definition is not very precise and restrictive: as a result, even ProgramCompilation fits in. It would be more accurate to insist that the new form is at the same or a higher level of abstraction as the original subject system -- conform the ReStructuring definition in which the level of abstraction remains the same.

-- ArieVanDeursen, 04 Aug 2002

Relevant reengineering topics:


The US DOD maintains all sorts of info at, including a Software Reengineering Assessment Handbook, a tool evaluation methodology, and various tool descriptions. Sometimes a bit outdated (viz. dealing with Y2K extensively), sometimes very interesting.

-- ArieVanDeursen, 17 September 2002.

E. J. Byrne (A Conceptual Foundation for Software Re-Engineering, ICSM 1992, pp. 226-235) has proposed a model for reengineering distinguishing three steps:
  1. ReverseEngineering
  2. ReStructuring
  3. ForwardEngineering

which he visualizes using the following figure:


The SEI Horseshoe Model is similar to Byrne's model, and takes a SoftwareArchitecture perspecitve on reengineering:



CategoryReengineeringPages | CategoryReengineeringWiki | Contributions by ArieVanDeursen