Investigating reverse engineering technologies for the CAS program understanding project
Erich Buss, Renato De Mori, W. Morven Gentleman, J. Henshaw, Hilary M. Johnson, Kostas Kontogiannis, Ettore Merlo, Hausi A. Müller, John Mylopoulos, S. Paul, Atul Prakash, Martin Stanley, S. R. Tilley, Joel Troster, Kevin K Wong · IBM Systems Journal · 1994
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 the problem of program understanding, software engineers are spending an ever-growing amount of effort on reverse engineering technologies. This paper describes the scope and results of an ongoing research project on program understanding undertaken by the IBM Toronto Software Solutions Laboratory Centre for Advanced Studies (CAS). The project involves a team from CAS and five research groups working cooperatively on complementary reverse engineering approaches. All the groups are using the source code of SQL/DS™ (a multimillion-line relational database system) as the reference legacy system. Also discussed is an approach adopted to integrate the various tools under a single reverse engineering environment.