- Report from the Dagstuhl seminar on interoperabiblity of reengineering tools : article in ninth international workshop on program comprehension (IWPC 01) : S. 119 - Lethbridge, Timothy C. - Los Alamitos : IEEE, 2001 - (International workshop on program comprehension : 9. 2001, S. 119).
- The Dagstuhl middle metamodel : a schema for reverse engineering : article in "ateM 2003" : International on meta-models and schemas for reverse engineering, Victoria, Canada, 2003 : S. 7-18 - Lethbridge, Timothy C.; Tichelaar, Sander; Plödereder, Erhard - Amsterdam : Elsevier, 2004 - (Electronic notes in theoretical computer science : 94. 2007 : S. 7-18). DOI: 10.1016/j.entcs.2004.01.008.
Software Reengineering is the present-day term for all activities for renovating aging systems to be more responsive to changes. Problems of the 90s like the Y2k-problemor the problem of converting software to the new European currency witnessed the importance of concepts, tools and techniques to improve the quality and maintainability of software. Reengineering is a part of software engineering with its focus on all problems appearing during software maintenance of legacy software. Here, we focus on the technical part related to the software artifacts themselves and exclude all management aspects of software maintenance.
Software Reengineering activities are widespread and mostly focus on the development of tools for software analysis. The current state of practice is however that reengineering tools still solve insular problems and are treated as research prototypes within the research group that developed them. In this context, it is very important to define a data interchange format that allows for different reengineering tools to communicate so that integrated, multi-faceted representations of software systems can be created.
Even though this issue may look simple at the beginning, it involves a number of research issues to be resolved. One issue is the definition of the levels of abstraction that information about a software system is to be presented. These levels of abstraction may include the abstract syntax tree level, the data and control flow level, while a higher one may be the architectural level. The challenge to the research community is to design a formalism for each level of abstraction so that information about a software system can be passed from one analysis tool to another. Moreover, the formalism must allow for software systems and constructs in various languages to be presented. Another research challenge is the definition of schemata that allow for data emitted from different parsers to be fused in a uniform, normalized source code representation. Emerging markup languages such as XML may provide a vehicle for data fusion and data integration, in this context.
This Dagstuhl seminar aims at a concrete deliverable, namely the definition of an interchange language format for reengineering tools. Apparently such a language for describing software is needed on different levels of semantic expressiveness, like abstract syntax trees and abstract syntax graphs, call graphs, program dependence graphs, architecture descriptions, etc. Thus, tool interoperability highly relies on the agreement of common concepts, schemas, and information structures. Work on reverse engineering in the sense of extracting information to a higher level of abstraction can not be separated from the interchange aspect.
The aim of the seminar is to provide the working environment where:
- a) reengineering tasks and activities are categorized;
- b) schemata for language domain models are presented;
- c) data exchange formats are defined for different levels of abstraction and;
- d) the role of emerging markup language technologies (XML, RDF) is evaluated as a vehicle for reengineering tool interoperability.
- Anneliese Amschler Andrews (Washington State University - Pullman, US)
- Katja Cremer (ERICSSON Eurolab - Herzogenrath, DE)
- Markus Döbele (Merlin Software-Engineering - Baden Baden, DE)
- Jürgen Ebert (Universität Koblenz-Landau, DE)
- Rudolf Ferenc (University of Szeged, HU)
- Rainer Gimnich (IBM - Stuttgart, DE)
- Michael W. Godfrey (University of Waterloo, CA) [dblp]
- Tibor Gyimothy (University of Szeged, HU)
- Jean-Luc Hainaut (University of Namur, BE) [dblp]
- Jean Henrard (University of Namur, BE)
- Richard C. Holt (University of Waterloo, CA)
- Udo Kelter (Universität Siegen, DE) [dblp]
- Holger M. Kienle (University of Victoria, CA)
- Kostas Kontogiannis (University of Waterloo, CA)
- Rainer Koschke (Universität Bremen, DE) [dblp]
- Jens Krinke (FernUniversität in Hagen, DE) [dblp]
- Ralf Lämmel (Universität Koblenz-Landau, DE) [dblp]
- Franz Lehner (Universität Passau, DE)
- Timothy C. Lethbridge (University of Ottawa, CA)
- Panagiotis Linos (Butler University - Indianapolis, US)
- Marin Litoiu (IBM Canada Ltd. - Ontario, CA) [dblp]
- Spiros Mancoridis (Drexel Univ. - Philadelphia, US)
- M. Scott Marshall (CWI - Amsterdam, NL)
- Johannes Martin (Universität Mainz, DE)
- Leon Moonen (TU Delft, NL) [dblp]
- Hausi A. Müller (University of Victoria, CA) [dblp]
- John Mylopoulos (University of Toronto, CA) [dblp]
- Erhard Plödereder (Universität Stuttgart, DE) [dblp]
- Derek Rayside (MIT - Cambridge, US)
- Volker Riediger (Universität Koblenz-Landau, DE)
- Claudio Riva (NOKIA Research Center - Helsinki, FI)
- Tobias Rötschke (TU Darmstadt, DE)
- Susan Elliott Sim (University of California - Irvine, US)
- Perdita Stevens (University of Edinburgh, GB) [dblp]
- Margaret-Anne Storey (University of Victoria, CA) [dblp]
- Sander Tichelaar (Universität Bern, CH)
- Scott Tilley (University of California - Riverside, US)
- Arie van Deursen (TU Delft, NL) [dblp]
- Chris Verhoef (VU University Amsterdam, NL)
- Jörg P. Wadsack (Universität Paderborn, DE)
- Jens Holger Weber (University of Victoria, CA) [dblp]
- Harald Wertz (University of Paris VII, FR)
- Andreas Winter (Universität Koblenz-Landau, DE)
- Ken Wong (University of Alberta - Edmonton, CA)