The
ReverseAndReengineeringTaxonomy defines reverse engineering as:
The process of analyzing a subject system with two goals in mind:
- to identify the system's components and their interrelationships; and,
- 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