Skip to main content

A Tool to Reengineer Legacy Systems to Object-Oriented Systems

  • Conference paper
Advances in Conceptual Modeling (ER 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1727))

Included in the following conference series:

  • 482 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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

    Google Scholar 

  2. 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

    Google Scholar 

  3. Bennett, K.: Legacy Systems: Coping with Success”. IEEE Software, Vol. 12, No1 (1995) 19–23

    Article  Google Scholar 

  4. 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

    Google Scholar 

  5. 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

    Article  MATH  Google Scholar 

  6. 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

    Google Scholar 

  7. Bush, E.: The Automatic Restructuring of Cobol. Proceedings of the IEEE Conference on Software Maintenance (1985) 35–41

    Google Scholar 

  8. 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

    Google Scholar 

  9. 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

    Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Google Scholar 

  12. 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

    Google Scholar 

  13. 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

    Google Scholar 

  14. 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

    Google Scholar 

  15. 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

    Article  MATH  Google Scholar 

  16. 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

    Google Scholar 

  17. 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

    Google Scholar 

  18. Lanubile, G., Visaggio, G.: Extracting Reusable Functions by Flow Graph-based Program Slicing. IEEE Transactions on Software Engineering, Vol. 23, (1997) 246–259

    Article  Google Scholar 

  19. Linger, R., Mills, H., Witt B.: Structured Programming: Theory and Practice. Cambridge, Mass.: Addison-Wesley Publishing Company (1979)

    MATH  Google Scholar 

  20. 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

    Google Scholar 

  21. Meyer, B.: Object-Oriented Software Construction (2nd ed). New Jersey: Prentice Hall PTR (1997)

    MATH  Google Scholar 

  22. 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

    Article  Google Scholar 

  23. Ong, C, Tsai, W.: Class and Object Extraction from Imperative Code”. Journal of Object-Oriented Programming (1993) 58–68

    Google Scholar 

  24. 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

    Google Scholar 

  25. Sneed, H.: Object-Oriented COBOL Recycling”. Proceedings of the IEEE Working Conference on Reverse Engineering, Monterey, California (1996) 169–178

    Google Scholar 

  26. 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

    Google Scholar 

  27. Weiser, M.: Program Slicing. IEEE Transactions on Software Engineering, Vol. 10 (1984) 352–357

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics