Object finder for program structure understanding in software maintenance

Roger M. Ogando, Sik-Sang Yau, Sying S. Liu, Norman Wilde

Research output: Contribution to journalArticle

23 Citations (Scopus)

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.

Original languageEnglish (US)
Pages (from-to)261-283
Number of pages23
JournalJournal of Software Maintenance
Volume6
Issue number5
StatePublished - Sep 1994
Externally publishedYes

Fingerprint

Computer software maintenance
Engineers
Computer programming languages

ASJC Scopus subject areas

  • Computer Science(all)

Cite this

Object finder for program structure understanding in software maintenance. / Ogando, Roger M.; Yau, Sik-Sang; Liu, Sying S.; Wilde, Norman.

In: Journal of Software Maintenance, Vol. 6, No. 5, 09.1994, p. 261-283.

Research output: Contribution to journalArticle

Ogando, Roger M. ; Yau, Sik-Sang ; Liu, Sying S. ; Wilde, Norman. / Object finder for program structure understanding in software maintenance. In: Journal of Software Maintenance. 1994 ; Vol. 6, No. 5. pp. 261-283.
@article{cd464dfcbacc48eb99091a726421253b,
title = "Object finder for program structure understanding in software maintenance",
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.",
author = "Ogando, {Roger M.} and Sik-Sang Yau and Liu, {Sying S.} and Norman Wilde",
year = "1994",
month = "9",
language = "English (US)",
volume = "6",
pages = "261--283",
journal = "Journal of software: Evolution and Process",
issn = "2047-7481",
publisher = "John Wiley and Sons Ltd",
number = "5",

}

TY - JOUR

T1 - Object finder for program structure understanding in software maintenance

AU - Ogando, Roger M.

AU - Yau, Sik-Sang

AU - Liu, Sying S.

AU - Wilde, Norman

PY - 1994/9

Y1 - 1994/9

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=0028515677&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0028515677&partnerID=8YFLogxK

M3 - Article

AN - SCOPUS:0028515677

VL - 6

SP - 261

EP - 283

JO - Journal of software: Evolution and Process

JF - Journal of software: Evolution and Process

SN - 2047-7481

IS - 5

ER -