Download:
|
by E. Buss, R. De, Mori M. Gentleman, J. Henshaw, H. Johnson, K. Kontogiannis, E. Merlo, H. Muller, J. Mylopoulos, S. Paul, A. Prakash, M. Stanley, S. Tilley, J. Troster, K. Wong
IBM Systems Journal
http://www.sei.cmu.edu/reengineering/pubs/ps/ibmsj-cas-pup.ps
Add To MetaCart
Abstract:
Corporations face mounting maintenance and re-engineering costs for large legacy systems. Evolving over several years, these systems embody substantial corporate knowledge, including requirements, design decisions, and business rules. Such knowledge is difficult to recover after many years of operation, evolution, and personnel change. To address this problem, software engineers are spending an ever-growing amount of effort on program understanding and reverse engineering technologies. This article describes the scope and results of an on-going research project on program understanding undertaken by the IBM Software Solutions Toronto Laboratory Centre for Advanced Studies (CAS). The project involves, in addition to a team from CAS, five research groups working cooperatively on complementary reverse engineering approaches. All groups are using the source code of SQL/DS (a multi-million line relational database system) as the reference legacy system. The article also discusses the approach adopted to integrate the various toolsets under a single reverse engineering environment.
Citations
|
376
|
Reverse Engineering and Design Recovery: A Taxonomy
– Chikofsky, C
- 1990
|
|
154
|
Towards a theory of the comprehension of computer programs
– Brooks
- 1983
|
|
85
|
Recognizing a Program’s Design: A Graph-Parsing Approach
– Rich, Wills
- 1990
|
|
69
|
Program Restructuring as an Aid to Software Maintenance
– Griswold
- 1991
|
|
68
|
The concept assignment problem in program understanding
– Biggerstaff, Mitbander, et al.
- 1993
|
|
63
|
Visualizing and querying software structures
– Consens, Mendelzon, et al.
- 1992
|
|
47
|
An essay on software reuse
– Standish
- 1984
|
|
37
|
Software reengineering
– Arnold
- 1993
|
|
31
|
Reliable Software through Composite Design
– Myers
- 1975
|
|
31
|
scale systems require higher level abstractions
– Shaw
- 1989
|
|
27
|
TMM: Software Maintenance by Transformation
– Arango, Baxter, et al.
- 1986
|
|
26
|
A program transformation approach to automating software re-engineering
– Burson, Kotik, et al.
- 1990
|
|
25
|
Rigi - A Model for Software System Construction, Integration, and Evaluation based on Module Interface Specifications
– Muller
- 1986
|
|
24
|
Using function abstraction to understand program behavior
– Hausler, Pleszkoch, et al.
- 1990
|
|
23
|
Discovering, visualizing, and controlling software structure
– Schwanke, Altucher, et al.
- 1989
|
|
15
|
A mechanism for specifying the structure of large, layered systems
– Ossher
- 1987
|
|
14
|
Object-oriented design archaeology with CIA
– Grass
- 1992
|
|
9
|
RE-Analyzer: From source code to structured analysis
– O'Hare, Troan
- 1994
|
|
8
|
A Software Reverse Engineering Experience
– Buss, Henshaw
- 1991
|
|
6
|
Experiences in program understanding
– Buss, Henshaw
- 1992
|
|
5
|
Challenges to the field of reverse engineering -- A position paper
– Selfridge, Waters, et al.
- 1993
|
|
5
|
Assessing design-quality metrics on legacy software
– Troster
- 1992
|
|
3
|
Reengineering technology report (Volume I
– Olsem, Sittenauer
- 1993
|
|
3
|
Designing Software for Producibility
– Card
- 1992
|
|
2
|
Filtering for quality
– Troster, Henshaw, et al.
- 1993
|
|
2
|
Challenges to the eld of reverse engineering | a position paper
– Selfridge, Waters, et al.
- 1993
|