March 9 – 13 , 1998, Dagstuhl Seminar 98101

Program Comprehension and Software Reengineering


H. Müller (Victoria, CDN), T. Reps (Wisconsin), G. Snelting (Braunschweig)

For support, please contact

Dagstuhl Service Team


Dagstuhl-Seminar-Report 204


Analysing old software systems has become an important topic in software technology. There are billions of lines of legacy code which constitute substantial corporate assets. Legacy systems have been subject to countless modifications and enhancements and, hence, software entropy has typically increased steadily over the years. If these systems are not refurbished they might die of old age---and the knowledge embodied in these systems will be lost forever.

As a first step in "software geriatrics'' one usually tries to understand the old system using program understanding or program comprehension techniques. In a second step, one reconstructs abstract concepts (e.g., the system architecture, business rules) from the source code, the documentation, and corporate knowledge; this is called software reverse engineering . Given an abstract representation of the system, one can then re-implement the system. This forward engineering step ranges from fully automatic approaches to manual reimplementations including restructuring techniques, formal transformations, injecting component technologies, replacing old user interface or database technology. The process of moving from an old legacy system to a new implementation is called software reengineering.

It was the aim of this seminar to bring together researchers who are active in the areas of program comprehension and software reengineering regardless of their particular approaches and research avenues. However, one of the areas of concentration for this seminar was slicing technology which is an important technique for software understanding and maintenance activities. Another topic of increased interest have been empirical studies for software reengineering. Mathematical concept analysis gained some attention as a new framework for program understanding.

Several talks were accompanied by system demonstrations, giving participants first-hand experience of new analysis and reengineering technology. A panel session compiled a list of open problems, both technical and methodological. The traditional Dagstuhl walk offered an opportunity for topological comprehension and map reengineering.

We are grateful to the participants who made the seminar an exciting week. We also acknowledge the financial support provided by the European Union in the scope of the TMR program. As always in Dagstuhl, the staff was doing a terrific job looking after us and everything surrounding the seminar.


In the series Dagstuhl Reports each Dagstuhl Seminar and Dagstuhl Perspectives Workshop is documented. The seminar organizers, in cooperation with the collector, prepare a report that includes contributions from the participants' talks together with a summary of the seminar.


Download overview leaflet (PDF).

Dagstuhl's Impact

Please inform us when a publication was published as a result from your seminar. These publications are listed in the category Dagstuhl's Impact and are presented on a special shelf on the ground floor of the library.


Furthermore, a comprehensive peer-reviewed collection of research papers can be published in the series Dagstuhl Follow-Ups.