Title :
Reverse engineering and design recovery: a taxonomy
Author :
Chikofsky, Elliot J. ; Cross, James H., II
Author_Institution :
Index Technol. Corp., Cambridge, MA, USA
Abstract :
The key to applying computer-aided software engineering to the maintenance and enhancement of existing systems lies in applying reverse-engineering approaches. However, there is considerable confusion over the terminology used in both technical and marketplace discussions. The authors define and relate six terms: forward engineering, reverse engineering, redocumentation, design recovery, restructuring, and reengineering. The objective is not to create new terms but to rationalize the terms already in use. The resulting definitions apply to the underlying engineering processes, regardless of the degree of automation applied.<>
Keywords :
nomenclature; software engineering; computer-aided software engineering; design recovery; enhancement; existing systems; forward engineering; maintenance; redocumentation; reengineering; restructuring; reverse-engineering approaches; taxonomy; Cloning; Control systems; Engineering drawings; Hardware; Reverse engineering; Software maintenance; Software performance; Software systems; Taxonomy; Water heating;
Journal_Title :
Software, IEEE