Reverse Engineering Roadmap to Effective software Design
The process of duplicating an existing component, subassembly, or product, without the aid of drawings, documentation, or computer model is known as reverse engineering. So reverse engineering is the process of learning the design of an object by studying its implementation. It is the process of discovering the technological principles of a device, object or system through analysis of its structure, function and operation. The role of reverse engineering in software evolution is important. It provides the means for recapturing lost information, restructuring complex systems or transforming old systems to a new, more maintainable and better architecture. Reverse engineering software helps researchers to examine the strength of systems and identify their weaknesses in terms of performance, security, and interoperability. The goal of reverse engineering itself is the improved documentation of how the original product works by uncovering the underlying design. In this paper various reverse engineering tools are discussed which help in developing software design better by the use of existing