An Object Finder for Program Structure Understanding in Software Maintenance

RM OGANDO,SS YAU,SS LIU,N WILDE
DOI: https://doi.org/10.1002/smr.4360060504
1994-01-01
Abstract:The maintenance or re-engineering of a program usually begins with considerable effort in understanding the program structure. In this paper, an interactive tool for understanding the structure of non-object-oriented programs, known as the Object Finder, is presented. The structure of a program is defined in terms of the groupings of routines and data into modules within the program and the hierarchical relationships among the modules. The Object Finder incorporates two complementary approaches, one being top-down and the other bottom-up, to assist the software engineer in understanding the structure of a program based on the object-like features found in the program. In the top-down approach, the user obtains an overall understanding of the entire program as a collection of hierarchically organized objects. In the bottom-up approach, the user obtains a view of the information which is closely related to the components under examination.In both approaches, two methods are used to identify the objects in a program written in a non-object-oriented programming language. These methods identify sets of objects based on the data bindings and on the type bindings found in a program. An object is considered as a collection of routines, types, and/or data items of the program. The Object Finder combines the top-down and bottom-up approaches while using human input to guide the object identification process. Two examples of using this Object Finder are also presented to demonstrate the capabilities of the approaches to assist the software engineer in attaining a high-level understanding of the program structure.
What problem does this paper attempt to address?