The ReverseAndReengineeringTaxonomy defines design recovery as a subset of ReverseEngineering in which domain knowledge, external information, and deduction or fuzzy reasoning are added to the observations of the subject system. The objective of design recovery is to identify meaningful higher-level abstractions beyond those obtained directly by examining the system itself.