Understanding CASE generated legacy applications: a case study
Carlos Sarmiento, Silvia Takahashi
Abstract
Carlos Sarmiento, Silvia Takahashi
Abstract
Reverse engineering for program understanding is always the first step in a reengineering project. When CASE tools are used to develop legacy applications, there are hidden assets that are not usually available. These assets may be very useful for program understanding because they contain design and architectural information usually only found, if at all, in the applications' documentation or are implicit in the code. Reverse engineering this type of applications requires taking advantage of these assets. In this paper, we describe a case study in which we reverse engineer a large legacy application which was constructed using SNAP, a CASE tool for the AS400. By exploiting vital information generated by SNAP, we were able to obtain representations of the application's persistent data and of dependency information of programs that make up the application. This experience led to the definition of guidelines that can be used to tackle the problem of reengineering applications that were developed with CASE tools.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Reverse engineering for program understanding is always the first step in a reengineering project. When CASE tools are used to develop legacy applications, there are hidden assets that are not usually available. These assets may be very useful for program understanding because they contain design and architectural information usually only found, if at all, in the applications' documentation or are implicit in the code. Reverse engineering this type of applications requires taking advantage of these assets. In this paper, we describe a case study in which we reverse engineer a large legacy application which was constructed using SNAP, a CASE tool for the AS400. By exploiting vital information generated by SNAP, we were able to obtain representations of the application's persistent data and of dependency information of programs that make up the application. This experience led to the definition of guidelines that can be used to tackle the problem of reengineering applications that were developed with CASE tools.
Key concepts: Reverse engineering, Business process reengineering, Computer science, Legacy system, Documentation, Software engineering, Dependency (UML), Legacy code