Abstract
A Legacy Application is any program coded for typically industry strength projects, which become increasingly difficult to understand as they grow in size and complexity. Evolving over several years, these systems embody substantial corporate knowledge, including requirements, design decisions, and business rules. Such knowledge is difficult to recover after many years of operation, evolution, and personnel change. Organizations in developing economies when faced with the problems of converting their legacy applications to meet up with current trends had chosen the option of discarding them leading to loss of huge revenue. Reverse engineering is the process of analyzing a subject system to identify the system's components and their interrelationships and create representations of the system in another form at a higher level of abstraction. It provides the means for an organization to replace their information systems with completely new ones, as well as maintain and gain control over their legacy applications by supporting in recapturing lost information, restructuring complex systems or transforming old systems to a new and more maintainable architecture. This paper describes the purposes and various approaches to reverse engineer software and the various approaches which include Partial comprehensive approach, extraction of design patterns, knowledge-based approach, domain analysis approach, program slicing, graph parsing, etc. The paper will show that these and other related reverse engineering automation technologies can be deployed for understanding applications legacy system that need be maintained or re-engineered and that this is most likely to make for continuity of applications and savings in the cost of complete redesign and coding of old but reliable software applications for organizations in developing economies.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.