Modernizing legacy software using a System Grokking technology

Reverse engineering is an essential part of the modernization process that enables the evolution of existing software assets. The extraction of state machines out of existing code is an important aspect of the reverse engineering process. However, none of the reverse engineering tools fully support an automatic extraction of state machines.

[1]  Richard C. Holt WCRE 1998 Most Influential Paper: Grokking Software Architecture , 2008, 2008 15th Working Conference on Reverse Engineering.

[2]  Hans Albert Muller,et al.  Rigi: a model for software system construction, integration, and evolution based on module interface specifications , 1986 .

[3]  Richard C. Holt,et al.  GASE: visualizing software evolution-in-the-large , 1996, Proceedings of WCRE '96: 4rd Working Conference on Reverse Engineering.

[4]  David N. Chin,et al.  DECODE: a cooperative environment for reverse-engineering legacy software , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[5]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[6]  R. Kaplan,et al.  Measuring the strategic readiness of intangible assets. , 2004, Harvard business review.

[7]  Kenn R. Luecke,et al.  Reengineering C++ Component Models via Automatic Program Transformation , 2005, WCRE.

[8]  Giuliano Antoniol,et al.  Program understanding and maintenance with the CANTO environment , 1997, 1997 Proceedings International Conference on Software Maintenance.

[9]  Erhard Plödereder,et al.  Bauhaus - A Tool Suite for Program Analysis and Reverse Engineering , 2006, Ada-Europe.

[10]  Margaret-Anne D. Storey,et al.  SHriMP views: an interactive environment for exploring Java programs , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[11]  Maayan Goldstein,et al.  System Grokking - A Novel Approach for Software Understanding, Validation, and Evolution , 2009, NGITS.