... knowledge11
In fact, the use of domain knowledge distinguishes what we mean by understanding from reverse engineering, and what we mean by adaptation from reengineering. As currently conceived, both reverse engineering and reengineering tools incorporate the type of knowledge about components that is found in the typical compiler, such as knowledge about name scopes and connections between declarations and uses. A reverse engineering tool that is an exception to this is DESIRE [Bigg 89].