An object finder for program structure understanding in software maintenance

Roger M. Ogando, Stephen S. Yau, Sying S. Liu, Norman Wilde

Research output: Contribution to journalArticlepeer-review

23 Scopus citations


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.

Original languageEnglish (US)
Pages (from-to)261-283
Number of pages23
JournalJournal of Software Maintenance: Research and Practice
Issue number5
StatePublished - 1994
Externally publishedYes


  • Object finder
  • Program structure
  • Program understanding
  • Restructuring
  • Software maintenance
  • Structured analysis

ASJC Scopus subject areas

  • General Computer Science


Dive into the research topics of 'An object finder for program structure understanding in software maintenance'. Together they form a unique fingerprint.

Cite this