The software bookshelf

被引:95
作者
Finnigan, PJ
Holt, RC
Kalas, I
Kerr, S
Kontogiannis, K
Muller, HA
Mylopoulos, J
Perelgut, SG
Stanley, M
Wong, K
机构
[1] UNIV WATERLOO, DEPT COMP SCI, WATERLOO, ON N2L 3G1, CANADA
[2] UNIV TORONTO, DEPT COMP SCI, TORONTO, ON M5S 3G4, CANADA
[3] UNIV WATERLOO, DEPT ELECT & COMP ENGN, WATERLOO, ON N2L 3G1, CANADA
关键词
D O I
10.1147/sj.364.0564
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Legacy software systems are typically complex, geriatric, and difficult to change, having evolved over decades and having passed through many developers. Nevertheless, these systems are mature, heavily used, and constitute massive corporate assets. Migrating such systems to modern platforms is a significant challenge due to the loss of information over time, As a result, we embarked on a research project to design and implement an environment to support software migration. in particular we focused on migrating legacy PL/I source code to C++, with an initial phase of looking at redocumentation strategies. Recent technologies such as reverse engineering fools and World Wide Web standards now make it possible to build tools that greatly simplify the process of redocumenting a legacy software system. In this paper we introduce the concept of a software bookshelf as a means to capture, organize, and manage information about a legacy software system. We distinguish three roles directly involved in the construction, population, and use of such a bookshelf: the builder, the librarian, and the patron. From these perspectives, we describe requirements for the bookshelf, as well as a generic architecture and a prototype implementation. We also discuss various parsing and analysis fools that were developed and integrated to assist in the recovery of useful information about a legacy system. In addition, we illustrate how a software bookshelf is populated with the information of a given software project and how the bookshelf can be used in a program-understanding scenario. Reported results are based on a pilot project that developed a prototype bookshelf for a software system consisting of approximately 300K lines of code written in a PL/I dialect.
引用
收藏
页码:564 / 593
页数:30
相关论文
共 71 条
[1]  
Arnold, 1993, SOFTWARE REENGINEERI
[2]  
BAKER S, 1995, P WORK C REV ENG WCR, P86
[3]  
BERNSTEIN P, 1994, INT C VER LARG DAT S
[4]   PROGRAM UNDERSTANDING AND THE CONCEPT ASSIGNMENT PROBLEM [J].
BIGGERSTAFF, TJ ;
MITBANDER, BG ;
WEBSTER, DE .
COMMUNICATIONS OF THE ACM, 1994, 37 (05) :72-83
[5]  
BROWN A, 1992, ACM SOFTWARE ENG, V17, P47, DOI DOI 10.1145/140938.140944
[6]   INVESTIGATING REVERSE ENGINEERING TECHNOLOGIES FOR THE CAS PROGRAM UNDERSTANDING PROJECT [J].
BUSS, E ;
DEMORI, R ;
GENTLEMAN, WM ;
HENSHAW, J ;
JOHNSON, H ;
KONTOGIANNIS, K ;
MERLO, E ;
MULLER, HA ;
MYLOPOULOS, J ;
PAUL, S ;
PRAKASH, A ;
STANLEY, M ;
TILLEY, SR ;
TROSTER, J ;
WONG, K .
IBM SYSTEMS JOURNAL, 1994, 33 (03) :477-500
[7]  
CAGAN MR, 1990, HEWLETT-PACKARD J, V41, P36
[8]   Analysis and presentation of recovered software architectures [J].
Chase, MP ;
Harris, DR ;
Roberts, SN ;
Yeh, AS .
PROCEEDINGS OF THE THIRD WORKING CONFERENCE ON REVERSE ENGINEERING, 1996, :153-162
[9]   EXTRACTING AND RESTRUCTURING THE DESIGN OF LARGE SYSTEMS [J].
CHOI, SC ;
SCACCHI, W .
IEEE SOFTWARE, 1990, 7 (01) :66-71
[10]  
CONSENS M, 1992, 14TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING : PROCEEDINGS, P138