Using an enabling technology to reengineer legacy systems

"Reengineering a major line-of-business system can be likened to changing a tire on a moving vehicle." Intro • Proliferation of CASE tools in the last 10 years • Reengineering tool proliferation has been minimal • Automated support for reengineering is worse-especially when we talk about transforming code to new functionality. • Largest problem in reengineering tools is the lack of customizability • Article describes experience in applying a new enabling technology to automate reengineering of a legacy MIS system. • Project lasted 4 ½ months • Developed and alpha-tested a 40KLOC COBOL application • Previous experience indicated > 20 man-weeks to reengineer a 15KLOC program by hand, this project reduced that effort to 4 man hours Body • This paper describes the project in somewhat boring detail, discussing the following areas: • The Boeing Payroll Modularization Project-a description of the project and its management and processes. • The Critical Modularization Tasks-a description of the process used to make modularization decisions • Technical Approach-how they used the technology to build a custom reengineering environment. • Software Refinery-a description of the reengineering tool development environment • Using the Modularization Tool-a description of the environment and an example of its application to the problem • Results-a description of the end results of the project. No general conclusions were drawn. • Future Development-a description of then future areas in which Boeing planned to use the tools.

[1]  Erich B. Buss,et al.  Experiences in program understanding , 1992, CASCON.

[2]  Allen Goldberg,et al.  Applications of feasible path analysis to program testing , 1994, ISSTA '94.

[3]  Wojtek Kozaczynski,et al.  Recovering reusable components from legacy systems by program segmentation , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[4]  Joel Troster,et al.  Assessing design-quality metrics on legacy software , 1992, CASCON.

[5]  Jean-Francois Girard,et al.  Reverse engineering of user interfaces , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[6]  Eric Garrigue Vesely Cobol: A Guide to Structured, Portable, Maintainable, and Efficient Program Design , 1989 .

[7]  Robert W. Schwanke,et al.  An intelligent tool for re-engineering software modularity , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[8]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.