The ReverseAndReengineeringTaxonomy defines reverse engineering as:

The process of analyzing a subject system with two goals in mind:

  1. to identify the system's components and their interrelationships; and,
  2. to create representations of the system in another form or at a higher level of abstraction.

Observe that reverse engineering is a process of examination only: the software system under consideration is not modified (which would make it ReEngineering).


Reverse engineering resources include:
Reverse engineering topics covered on this wiki include:
Many reverse engineering tools follow a three step approach:

One of the papers discussing this in more detail is S. Tilley, S. Paul, and D. B. Smith; Towards a Framework for Program Understanding; IWPC 1996. In this paper, these activities are also explained as

  • Data Gathering
  • Knowledge Organization
  • Information Exploration


And for the lighter side...


CategoryReverseEngineering | Contributions by ArieVanDeursen

Revision: r1.19 - 25 Jan 2003 - 14:11 - ArieVanDeursen
Transform > ReverseEngineering
Copyright © 1999-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback