Abstract
The goals of this tutorial are to: (i) give the reader a quick introduction to the field of software renovation as a whole; (ii) show that many techniques from compiler technology and formal methods can be applied; (iii) demonstrate that research should be driven by real-life, industrial, case studies; and (iv) indicate that many challenging problems are still unsolved. During the presentation of this turorial, demonstrations will be given of several of the case studies discussed here.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Aiken, P.H.: Data Reverse Engineering. McGraw-Hill, New York (1996)
Bennett, K., Khoshgoftaar, T.M. (eds.): Proceedings of the International Conference on Software Maintenance. IEEE Computer Society, Los Alamitos (1998)
Bergstra, J.A., Heering, J., Klint, P. (eds.): Algebraic Specification. ACM Press Frontier Series. The ACM Press in co-operation with Addison-Wesley, New York (1989)
Bergstra, J.A., Klint, P.: The discrete time toolbus—a software coordination architecture. Science of Computer Programming 31, 205–229 (1998)
Blaha, M.H., Quilici, A., Verhoef, C. (eds.): Proceedings of the Fifth Working Conference on Reverse Engineering. IEEE Computer Society, Los Alamitos (1998)
van den Brand, M.G.J., van Deursen, A., Klint, P., Klusener, S., van der Meulen, E.: Industrial applications of ASF+SDF. In: Wirsing, M., Nivat, M. (eds.) AMAST 1996. LNCS, vol. 1101, pp. 9–18. Springer, Heidelberg (1996)
van den Brand, M.G.J., Klint, P., Olivier, P.: Compilation and memory management for ASF+SDF. In: Jähnichen, S. (ed.) CC 1999. LNCS, vol. 1575, pp. 198–215. Springer, Heidelberg (1999)
van den Brand, M.G.J., Klint, P., Verhoef, C.: Core technologies for system renovation. In: Jeffery, K.G., Král, J., Bartošek, M. (eds.) SOFSEM 1996. LNCS, vol. 1175, pp. 235–255. Springer, Heidelberg (1996)
van den Brand, M.G.J., Klint, P., Verhoef, C.: Reverse engineering and system renovation – an annotated bibliography. ACM Software Engineering Notes 22(1), 57–68 (1997)
van den Brand, M.G.J., Klint, P., Verhoef, C.: Term rewriting for sale. In: Kirchner, C., Kirchner, H. (eds.) Second International Workshop on Rewriting Logic and its Applications. Electronic Notes in Theoretical Computer Science. Springer, Heidelberg (1998)
van den Brand, M.G.J., Sellink, M.P.A., Verhoef, C.: Control flow normalization for COBOL/CICS legacy systems. In: Nesi, P., Lehner, F. (eds.) Proc. 2nd Euromicro Conf. on Maintenance and Reengineering, pp. 11–19. IEEE Computer Society, Los Alamitos (1998)
van den Brand, M.G.J., Sellink, M.P.A., Verhoef, C.: Current parsing techniques in software renovation considered harmful. In: Tilley, S., Visaggio, G. (eds.) Proc. Sixth International Workshop on Program Comprehension, pp. 108–117. IEEE Computer Society, Los Alamitos (1998)
van den Brand, M.G.J., Visser, E.: Generation of formatters for context-free languages. ACM Transactions on Software Engineering and Methodology 5, 1–41 (1996)
Brodie, M.L., Stonebraker, M.: Migrating Legacy Systems: Gateways, interfaces and the incremental approach. Morgan Kaufman Publishers, San Francisco (1995)
Brunekreef, J., Diertens, B.: Towards a user-controlled software renovation factory. In: Nesi, P., Verhoef, C. (eds.) Proc. Third European Conference on Software Maintenance and Reengineering. IEEE Computer Society, Los Alamitos (1999) (to appear)
Chen, Y.-F., Fowler, G.S., Koutsofios, E., Wallach, R.S.: Ciao: A graphical navigator for software and document repositories. In: Caldiera, G., Bennett, K. (eds.) Int. Conf. on Software Maintenance, ICSM 1995, pp. 66–75. IEEE Computer Society, Los Alamitos (1995)
Chikofsky, E.J., Cross, J.H.: Reverse engineering and design recovery: A taxonomy. IEEE Software 7(1), 13–17 (1990)
Cimitile, A., De Lucia, A., Di Lucca, G.A., Fasolino, A.R.: Identifying objects in legacy systems using design metrics. Journal of Systems and Software (1998) (to appear)
van Deursen, A., Heering, J., Klint, P. (eds.): Language Prototyping: An Algebraic Specification Approach. AMAST Series in Computing, vol. 5. World Scientific Publishing Co., Singapore (1996)
van Deursen, A., Kuipers, T.: Rapid system understanding: Two COBOL case studies. In: Tilley, S., Visaggio, G. (eds.) Sixth International Workshop on Program Comprehension, IWPC 1998, pp. 90–98. IEEE Computer Society, Los Alamitos (1998)
van Deursen, A., Kuipers, T.: Finding objects using cluster and concept analysis. In: 21st International Conference on Software Engineering, ICSE-21. ACM, New York (1999) (to appear)
van Deursen, A., Moonen, L.: Type inference for COBOL systems. In: Baxter, I., Quilici, A., Verhoef, C. (eds.) Proc. 5th Working Conf. on Reverse Engineering, pp. 220–230. IEEE Computer Society, Los Alamitos (1998)
van Deursen, A., Woods, S., Quilici, A.: Program plan recognition for year 2000 tools. In: Proceedings 4th Working Conference on Reverse Engineering, WCRE 1997, pp. 124–133. IEEE Computer Society, Los Alamitos (1997)
Eick, S.G.: A visualization tool for Y2K. IEEE Computer 31(10), 63–69 (1998)
Eidorff, P.H., Henglein, F., Mossin, C., Niss, H., Sorensen, M.H., Tofte, M.: Anno Domini: From type theory to Year 2000 conversion tool. In: 26th Annual Symposium on Principles of Programming Languages, POPL 1999. ACM, New York (1999) (to appear)
Fergen, H., Reichelt, P., Schmidt, K.P.: Bringing objects into COBOL: MOORE - a tool for migration from COBOL85 to object-oriented COBOL. In: Proc. Conf. on Technology of Object-Oriented Languages and Systems (TOOLS 14), pp. 435–448. Prentice-Hall, Englewood Cliffs (1994)
Fokkink, W.J., Verhoef, C.: Conservative extension in positive/negative conditional term rewriting with applications to software renovation factories. In: Fundamental Approaches to Software Engineering. LNCS (1999) (to appear)
Hart, J., Pizzarello, A.: A scaleable, automated process for year 2000 system correction. In: Proceedings of the 18th International Conference on Software Engineering ICSE-18, pp. 475–484. ACM, New York (1996)
Heering, J., Hendriks, P.R.H., Klint, P., Rekers, J.: The syntax definition formalism SDF — Reference manual. SIGPLAN Notices 24(11), 43–75 (1989)
Jones, C.: Estimating Software Costs. McGraw-Hill, New York (1998)
Jones, C.: The Year 2000 Software Problem – Quantifying the Costs and Assessing the Consequences. Addison-Wesley, Reading (1998)
Klint, P.: A meta-environment for generating programming environments. ACM Transactions on Software Engineering and Methodology 2, 176–201 (1993)
Klint, P., Verhoef, C.: Evolutionary software engineering: A component-based approach. In: Horspool, R.N. (ed.) IFIP WG 2.4 Working Conference: Systems Implementation 2000: Languages, Methods and Tools, pp. 1–18. Chapman & Hall, Boca Raton (1998)
Lakhotia, A.: A unified framework for expressing software subsystem classification techniques. Journal of Systems and Software, 211–231 (March 1997)
Lindig, C., Snelting, G.: Assessing modular structure of legacy code based on mathematical concept analysis. In: 19th International Conference on Software Engineering, ICSE-19, pp. 349–359. ACM, New York (1997)
Liu, S.S., Wilde, N.: Identifying objects in a conventional procedural language: An example of data design recovery. In: International Conference on Software Maintenance, ICSM 1990, pp. 266–271. IEEE Computer Society, Los Alamitos (1990)
Müller, H.A., Orgun, M.A., Tilley, S.R., Uhl, J.S.: A reverse engineering approach to subsystem structure identification. Journal of Software Maintenance 5(4), 181–204 (1993)
Murphy, G.C., Notkin, D.: Lightweight lexical source model extraction. ACM Transactions on Software Engineering Methodology 5(3), 262–292 (1996)
Nesi, P., Verhoef, C.: Proceedings of the Third European Conference on Software Maintenance and Reengineering. IEEE Computer Society, Los Alamitos (1999)
Newcomb, P., Kottik, G.: Reengineering procedural into object-oriented systems. In: Second Working Conference on Reverse Engineering, WCRE 1995, pp. 237–249. IEEE Computer Society, Los Alamitos (1995)
O’Callahan, R., Jackson, D.: Lackwit: A program understanding tool based on type inference. In: 19th International Conference on Software Engeneering, ICSE-19. ACM, New York (1997)
Ong, C.L., Tsai, W.T.: Class and object extraction from imperative code. Journal of Object-Oriented Programming, 58–68 (March–April 1993)
Pigoski, T.M.: Practical Software Maintenance – Best Practices for Managing Your Software Investment. John Wiley and Sons, Chichester (1997)
Rich, C., Waters, R.: The Programmer’s Apprentice. Frontier Series. ACM Press, Addison-Wesley (1990)
Sellink, M.P.A., Sneed, H.M., Verhoef, C.: Restructuring of COBOL/CICS legacy systems. In: Nesi, P., Verhoef, C. (eds.) Proc. Third European Confrence on Software Maintenance and Reengineering. IEEE Computer Society, Los Alamitos (1999) (to appear)
Sellink, M.P.A., Verhoef, C.: Development, assessment, and reengineering of language descriptions. In: Proceedings of the 13th International Automated Software Engineering Conference, pp. 314–317. IEEE Computer Society, Los Alamitos (1998)
Sellink, M.P.A., Verhoef, C.: Native patterns. In: Blaha, M., Quilici, A., Verhoef, C. (eds.) Proceedings of the 5th Working Conference on Reverse Engineering, pp. 89–103. IEEE Computer Scociety, Los Alamitos (1998)
Siff, M., Reps, T.: Identifying modules via concept analysis. In: International Conference on Software Maintenance, ICSM 1997. IEEE Computer Society, Los Alamitos (1997)
Sneed, H.M.: Objectorientierte Softwaremigration. Addison-Wesley, Reading (1998) (In German)
Snelting, G.: Concept analysis — a new framework for program understanding. In: Proceedings of the ACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 1998) (1998); SIGPLAN Notices 33(7)
Snelting, G., Tip, F.: Reengineering class hierarchies using concept analysis. In: Foundations of Software Engineering, FSE-6, pp. 99–110. ACM, New York (1998) SIGSOFT Software Engineering Notes 23(6)
Tilley, S., Visaggio, G.: Proceedings of the Sixth International Workshop on Program Comprehension. IEEE Computer Society, Los Alamitos (1998)
Tip, F.: A survey of program slicing techniques. Journal of Programming Languages 3, 121–189 (1995)
Wiggerts, T., Bosma, H., Fielt, E.: Scenarios for the identification of objects in legacy systems. In: Baxter, I.D., Quilici, A., Verhoef, C. (eds.) 4th Working Conference on Reverse Engineering, pp. 24–32. IEEE Computer Society, Los Alamitos (1997)
Woods, S., Quilici, A., Yang, Q.: Constraint-based Design Recovery for Software Reengineering: Theory and Experiments. Kluwer Academic Publishers, Dordrecht (1997)
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
van Deursen, A., Klint, P., Verhoef, C. (1999). Research Issues in the Renovation of Legacy Systems. In: Finance, JP. (eds) Fundamental Approaches to Software Engineering. FASE 1999. Lecture Notes in Computer Science, vol 1577. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-49020-3_1
Download citation
DOI: https://doi.org/10.1007/978-3-540-49020-3_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65718-7
Online ISBN: 978-3-540-49020-3
eBook Packages: Springer Book Archive