Behavior Abstractions to support Reverse Engineering

Most approaches for recovering objects from procedural code are exclusively based on static information. These approaches have the advantage to build on information easily available. However, with code that is not built around very strong and ubiquitous data structures, substantial portions of this code cannot be clearly assigned to one of the objects the object-oriented system is made of. Here, we discuss an approach where the uncertainties that necessarily appear with purely data-structure driven approaches can be reduced by establishing in addition to the static object model a dynamic object model. The merits of the approach extend object recovery though. We consider the creation of event-state diagrams also useful for software redocumentation as well as for general program understanding. keywords: object recovery, program understanding, redocumentation, software reuse

[1]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[2]  Roland Mittermeir,et al.  Pattern-Driven Reverse Engineering , 1995, SEKE.

[3]  Aniello Cimitile,et al.  An Improved Algorithm for Identifying Objects in Code , 1996, Softw. Pract. Exp..

[4]  H. M. Sneed Migration of procedurally oriented COBOL programs in an object-oriented architecture , 1992, Proceedings Conference on Software Maintenance 1992.

[5]  Wolfgang Pree,et al.  Design Patterns for Object-Oriented Software Development , 1994, Proceedings of the (19th) International Conference on Software Engineering.

[6]  Aniello Cimitile,et al.  Extracting abstract data types from C programs: A case study , 1993, 1993 Conference on Software Maintenance.

[7]  Heinz Frank View Integration für objektorientierte Datenbanken , 1997, DISDBIS.

[8]  Aniello Cimitile,et al.  Recovering a Conceptual Data Model from COBOL Code , 1996, SEKE.

[9]  N. Wilde,et al.  Identifying objects in a conventional procedural language: an example of data design recovery , 1990, Proceedings. Conference on Software Maintenance 1990.

[10]  Ivar Jacobson,et al.  Re-engineering of Old Systems to an Object-Oriented Database , 1991, Conference on Object-Oriented Programming Systems, Languages, and Applications.

[11]  Roland Mittermeir,et al.  Using Domain Knowledge to Improve Reverse Engineering , 1996, Int. J. Softw. Eng. Knowl. Eng..

[12]  Doris L. Carver Reverse Engineering Procedural Code for Object Recovery , 1996, SEKE.

[13]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[14]  Ilene Burnstein,et al.  Knowledge Engineering for Automated Program Recognition and Fault Localization , 1996, SEKE.

[15]  Harald C. Gall,et al.  Object-model driven abstraction-to-code mapping , 1997 .

[16]  Harald C. Gall,et al.  Objektorientiertes Reverse Engineering , 1995 .

[17]  Ivar Jacobson,et al.  Re-engineering of Old Systems to an Object-Oriented Database , 1991, Conference on Object-Oriented Programming Systems, Languages, and Applications.