This Article 
 Bibliographic References 
 Add to: 
Reverse Engineering and Design Recovery: A Taxonomy
January/February 1990 (vol. 7 no. 1)
pp. 13-17

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.

Index Terms:
design recovery; taxonomy; computer-aided software engineering; maintenance; enhancement; existing systems; reverse-engineering approaches; forward engineering; redocumentation; restructuring; reengineering; nomenclature; software engineering
Elliot J. Chikofsky, James H. Cross II, "Reverse Engineering and Design Recovery: A Taxonomy," IEEE Software, vol. 7, no. 1, pp. 13-17, Jan.-Feb. 1990, doi:10.1109/52.43044
Usage of this product signifies your acceptance of the Terms of Use.