This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Reverse Engineering on the Mainframe: Lessons Learned from "In Vivo" Research
July/August 2010 (vol. 27 no. 4)
pp. 30-36
Joris Van Geet, University of Antwerp, Antwerp
Serge Demeyer, University of Antwerp University of Antwerp, Antwerp Antwerpen
Despite growth in the popularity of desktop systems, Web applications, and mobile computing, mainframe systems remain the dominant force in large-scale enterprise computing. Although they're sometimes referred to as "the dinosaurs of computing," even mainframe systems must adapt to changing circumstances to survive. Although reverse-engineering and reengineering techniques can help identify and achieve these adaptations, current techniques are mainly geared mainly toward more modern environments, languages, and platforms. It remains to be seen whether successful techniques can be easily transferred to a mainframe context. This article reports on the application of two proven reverse-engineering techniques (software visualization and feature location) in the context of mainframe systems. The authors conclude that these techniques remain viable but become very labor intensive when implemented on a per-project basis.

1. Software Evolution, T. Mens and S. Demeyer eds., Springer, 2008.
2. U. Homann, M. Rill, and A. Wimmer, "Flexible Value Structures in Banking," Comm. ACM, vol. 47, no. 5, 2004, pp. 34–36.
3. M.L. Brodie and M. Stonebraker, Migrating Legacy Systems: Gateways, Interfaces & the Incremental Approach, Morgan Kaufmann, 1995.
4. D. Stephens, What on Earth is a Mainframe? An Introduction to IBM zSeries Mainframes and z/OS Operating System for Total Beginners, 1st ed., Longpela Expertise, 2008.
5. E.J. Chikofsky and J.H. CrossII, "Reverse Engineering and Design Recovery: A Taxonomy," IEEE Software, vol. 7, no. 1, 1990, pp. 13–17.
6. M.A.D. Storey, F.D. Fracchia, and H.A. Mueller, "Cognitive Design Elements to Support the Construction of a Mental Model during Software Visualization," Proc. 5th Int'l Workshop Program Comprehension (IWPC 97), IEEE CS Press, 1997, p. 17.
7. S. Demeyer, S. Ducasse, and O. Nierstrasz, Object-Oriented Reengineering Patterns, Square Bracket Assoc., 2008, pp. 50–57.
8. P. Clements, R. Kazman, and M. Klein, Evaluating Software Architectures: Methods and Case Studies, Addison-Wesley Professional, 2002.
9. C. Ware, Information Visualization: Perception for Design, Morgan Kaufmann, 2000.
10. M. Lanza and S. Ducasse, "Polymetric Views—a Lightweight Visual Approach to Reverse Engineering," IEEE Trans. Software Eng., vol. 29, no. 9, 2003, pp. 782–795.
11. T. Eisenbarth, R. Koschke, and D. Simon, "Locating Features in Source Code," IEEE Trans. Software Eng., vol. 29, no. 3, 2003, pp. 210–224.
12. J. Van Geet and S. Demeyer, "Lightweight Visualizations of Cobol Code for Supporting Migration to SOA," Electronic Comm. the European Assoc. Software Science and Technology, vol. 8, 2008; http://journal.ub.tu-berlin.de/index.php/ eceasst/issue/view17.
13. J. Van Geet and S. Demeyer, "Feature Location in Cobol Mainframe Systems: An Experience Report," Proc. IEEE Int'l Conf. Software Maintenance (ICSM 09), IEEE CS Press, 2009, pp. 361–370.

Index Terms:
feature location, software visualization, industrial experience, software engineering, software
Citation:
Joris Van Geet, Serge Demeyer, "Reverse Engineering on the Mainframe: Lessons Learned from "In Vivo" Research," IEEE Software, vol. 27, no. 4, pp. 30-36, July-Aug. 2010, doi:10.1109/MS.2010.65
Usage of this product signifies your acceptance of the Terms of Use.