Abstract
Software evolution is an inevitable process for software systems. Repeated changes alter the structure of a system, rapidly degrading it and making the system “legacy”. Reengineering seems to be a promising approach to upgrade these systems according to the latest technologies. This paper describes a tool to reengineer procedural systems written in Cobol, Fortran, C or Pascal, into object-oriented ones written in Smalltalk. The prototype developed identifies potential classes automatically, but allows user intervention to work up conflicts.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Arnold, R. S.: A Road Map Guide to Software Reengineering Technology. In: Arnold, R. S. (Ed): Software reengineering (2nd ed). IEEE Computer Society Press, Los Alamitos, California (1994) 3–22
Benedusi, P., Ibba, R., Naddei, R., Natale, D.: Structure-based Clustering of Components for Software Reuse. Proceedings of the Conference on Software Maintenance, Montreal, Canada (1993) 210–215
Bennett, K.: Legacy Systems: Coping with Success”. IEEE Software, Vol. 12, No1 (1995) 19–23
Beziven, J., Lennon, Y., Nguyen, C: Prom Cobol to OMT: A Reengineering Workbench based on Semantic Networks”. Proceedings of the International Conference TOOLS USA (1995) 137–152
Böhm, C., Jacopini, G.: Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules. Communications of the ACM, Vol. 9 (1966) 366–371
Burd, E., Munro, M., Wezeman, C.: Extracting Reusable Modules from Legacy Code: Considering the Issues of Module Granularity. Proceedings of the IEEE Working Conference on Reverse Engineering, Monterey, California (1996) 189–196
Bush, E.: The Automatic Restructuring of Cobol. Proceedings of the IEEE Conference on Software Maintenance (1985) 35–41
Canfora, G., Cimitile, A., Munro, M., Taylor, C: Extracting Abstract Data Types from C Programs: A Case Study. Proceedings of the IEEE International Conference on Software Maintenance, Montreal, Canada (1993) 200–209
Cimitile, A., De Lucia, A., Munro, M.: Identifying Reusable Functions using Specification Driven Program Slicing: A Case Study. Proceedings of the IEEE International Conference on Software Maintenance, Nice, France (1995) 124–133
Cobo, H., Mauco, V., Tejerina, E.: An Algorithm to Modularize Legacy Code. In: Lasker, G. (Ed): Advances in Computer Cybernetics, Volume VI: Computing in Cyberspace 1999 32–36
Cobo, H., Mauco, V.: Un algoritmo para reestructurar programas procedurales. [Analgorithm to restructure imperative programs]. Memorias de la XXII Conferencia Latinoamericana de Informática, Colombia (1996) 979–990
Cobo, H., Mauco, V., Moreno, M., Zoia, A.: Un Lenguaje Intermedio para Mejorar y Traducir Programas. [An Intermediate Language to Improve and Translate Programs]. Memorias de la XXIII Conferencia Latinoamericana de Informática, Chile, 1997, 619–628
Cremer, K.: A Tool for Supporting the Re-design of Legacy Applications”. Proceedings of the IEEE Second Euromicro Conference on Software Maintenance and Reengineering, Florence, Italy (1998) 142–148
De Lucia, A., Di Lucca, G. A., Fasolino, A. R., Guerra, P., Petruzzelli, S.: Migrating Legacy Systems towards Object-Oriented Platforms. Proceedings of the IEEE International Conference on Software Maintenance, Bari, Italy (1997) 122–129
Ferrante, J., Ottenstein, K., Warren, J.: The Program Dependence Graph and its Use in Optimization. ACM Transactions on Programming Languages and Systems, Vol. 9, No 3 (1987) 319–349
Fiutem, R., Tonella, P., Antonio, G., Merlo, E.: A Cliche-based Environment to Support Architectural Reverse Engineering. Proceedings of the IEEE International Conference on Software Maintenance, Monterey, California (1996) 319–328
Jin, Y., Mah, P., Shin, G.: Deriving an Object Model from Procedural Programs. Proceedings of the 25th International Conference TOOLS Pacific, Australia (1997) 233–241
Lanubile, G., Visaggio, G.: Extracting Reusable Functions by Flow Graph-based Program Slicing. IEEE Transactions on Software Engineering, Vol. 23, (1997) 246–259
Linger, R., Mills, H., Witt B.: Structured Programming: Theory and Practice. Cambridge, Mass.: Addison-Wesley Publishing Company (1979)
Liu, S., Wilde, N.: Identifying Objects in a Conventional Procedural Language: An Example of Data Design Recovery. Proceedings of the IEEE Conference on Software Maintenance, San Diego, California (1990) 226–271
Meyer, B.: Object-Oriented Software Construction (2nd ed). New Jersey: Prentice Hall PTR (1997)
Ogando, R., Yau, S., Liu, S., Wilde, N.: An Object Finder for Program Structure Understanding in Softwate Maintenance. Journal of Software Maintenance: Research and Practice. Vol 6, No5 (1994) 261–283
Ong, C, Tsai, W.: Class and Object Extraction from Imperative Code”. Journal of Object-Oriented Programming (1993) 58–68
Rich, C, Wills, L.: Recognizing a Program’s Design”. In: Arnold, R. S. (Ed): Software Reengineering (2nd ed) IEEE Computer Society Press, Los Alamitos, California (1994) 534–541
Sneed, H.: Object-Oriented COBOL Recycling”. Proceedings of the IEEE Working Conference on Reverse Engineering, Monterey, California (1996) 169–178
Subramaniam, G.V., Byrne, E. J.: Deriving an Object Model from Legacy Fortran Code. Proceedings of the IEEE International Conference on Software Maintenance, Monterey, California (1996) 3–12
Weiser, M.: Program Slicing. IEEE Transactions on Software Engineering, Vol. 10 (1984) 352–357
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cobo, H., Mauco, V., Romero, M., Rodríguez, C. (1999). A Tool to Reengineer Legacy Systems to Object-Oriented Systems. In: Chen, P.P., Embley, D.W., Kouloumdjian, J., Liddle, S.W., Roddick, J.F. (eds) Advances in Conceptual Modeling. ER 1999. Lecture Notes in Computer Science, vol 1727. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48054-4_16
Download citation
DOI: https://doi.org/10.1007/3-540-48054-4_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66653-0
Online ISBN: 978-3-540-48054-9
eBook Packages: Springer Book Archive