Reverse Engineering

On this page I will list my involvement in reverse engineering. Comments are most welcome!

Reverse engineering and system renovation: an annotated bibliography

Click here to view our annotated bibliography on reverse engineering and system renovation. Click here to view it with xdvi (to produce hard copy please process the dvi file with the most silly name that belongs to you that resides on /tmp of your machine). The bibliography was written by Mark van den Brand, Paul Klint, and Chris Verhoef. This annotated bibliography has appeared in the 1997 January issue of ACM Software Engineering Notes.

In our annotated bibliography, we listed some URLs concerning reverse engineering. For the sake of ease, you can click here to access them.

The On-Line Reverse Engineering Bibliography

Rainer Koschke and I merged our bibliographies and we hope that others join us so that the The On-Line Reverse Engineering Bibliography will remain the largest on-line bibliography on this subject. Please read more about it, or access it directly. Don't forget to add this link to your bookmarks.

Core technologies for system renovation

Click here to view our paper in html format, but for a view that incorporates the figures in the correct way, please click here for a view with xdvi or here for PostScript. The paper is written by Mark van den Brand, Paul Klint, and Chris Verhoef. Note: this paper has been presented on the XXIII-rd Seminar on Current Trends in Theory and Practice of Informatics: SOFSEM '96 and it appeared in the proceedings.

Reengineering needs Generic Programming Language Technology

Click here to view the paper in html format. To view in in dvi format click here. For a PS-file click here. The paper is written by Mark van den Brand, Paul Klint, and Chris Verhoef. Note that this paper appeared in the 1997 February issue of ACM SIGPLAN Notices.

Obtaining a COBOL Grammar from Legacy Code for Reengineering Purposes

Click here to view the paper in html format. For a PS-file click here. The paper is written by Mark van den Brand, Alex Sellink, and Chris Verhoef. this paper appeared in the Proceedings of the 2nd International Workshop on the Theory and Practice of Algebraic Specifications.

Generation of Components for Software Renovation Factories from Context-free Grammars

Click here to view the paper in html format. For a version in pdf click here. For a PS-file click here. The paper is written by Mark van den Brand, Alex Sellink, and Chris Verhoef. This paper has been published in a special issue of Science of Computer Programming. Note: An extended abstract of this paper appeared in the proceedings of the fourth working conference on reverse engineering. Click here to view the extended abstract in html format. For a PS-file of the extended abstract click here.

IEEE Computer Society---Working Conferences on Reverse Engineering

With Micheal Blaha and Alex Quilici, I organized the Fifth Working Conference on Reverse Engineering (WCRE 98). With Ira Baxter and Alex Quilici, I organized the Fourth Working Conference on Reverse Engineering (WCRE 97). See also this overview of the conference. I kindly acknowledge the useful advices of Elliot Chikofsky (the founder of this conference) and Linda Wills (she was involved in the 3rd Working Conference on Reverse Engineering).

European Conferences on Software Maintenance and Reengineering

With Jurgen Ebert, I organize the fourth European Conference on Software Maintenance and Reengineering (CSMR 2000). With Paolo Nesi, Alex Sellink, and Ger Bakker, I organized the third European Conference on Software Maintenance and Reengineering (CSMR 99). I appreciate the useful advises of Lutz Richter (the founder of CSMR) and Franz Lehner who was involved in earlier CSMR conferences.

Control Flow Normalization for COBOL/CICS Legacy Systems

Click here to view the paper in html format. For a PS-file click here. The paper is written by Mark van den Brand, Alex Sellink, and Chris Verhoef. This paper has been presented at the 2nd Euromicro Working Conference on Software Maintenance and Reengineering Florence, Italy -- March 9-11, 1998.

Current Parsing Techniques in Software Renovation Considered Harmful

Click here to view the paper in html format. For a PS-file click here. The paper is written by Mark van den Brand, Alex Sellink, and Chris Verhoef. A presentation about parsing problems described in this paper has been given by Mark van den Brand at the 6th Reengineering Forum. The paper appeared in the proceedings of the International Workshop on Program Comprehension, June 24-26, 1998 Ischia, Italy.

Evolutionary Software Engineering: A Component-based Approach

Click here to view the paper in html format. For a PS-file click here. For a PDF-file click here. The paper is written by Paul Klint and Chris Verhoef. This paper has been presented by Paul Klint at the IFIP WG 2.4 Working Conference: Systems Implementation 2000: Languages, Methods and Tools Berlin, Germany 23-26 February 1998.

Reflections on the evolution of COBOL

Click here to view the paper in html format. For a PS-file click here. The paper is written by Alex Sellink and Chris Verhoef.

Native Patterns

Click here to view the paper in html format. For a PS-file click here. The paper is written by Alex Sellink and Chris Verhoef. This paper has been presented at the 5th IEEE Working Conference on Reverse Engineering, 12-14 October, Honolulu, Hawaii, USA.

For the technical report version, that contains implementation details on how we generate native pattern languages, and indicates formal definitions of native pattern languages click here to view the paper in html format. For a PS-file click here.

Development, Assessment, and Reengineering of Language Descriptions -- Extended Abstract

Click here to view the extended abstract in html format. For a PS-file click here. A PDF file is here. The paper is written by Alex Sellink and Chris Verhoef. It appeared in the proceedings of the 13th IEEE International Conference on Automated Software Engineering October 13-16, 1998 Sheraton Princess Kaiulani Honolulu, Hawaii, USA.

Term Rewriting for Sale

Click here to view the paper in html format. For a PS-file click here. The paper is written by Mark van den Brand, Paul Klint, and Chris Verhoef. This paper has been presented by Paul Klint and Mark van den Brand (who gave the demonstrations) at the Second International Workshop on Rewriting Logic and its Applications WRLA 98, Pont-a-Mousson, Nancy, France, 1-4 September, 1998.

Restructuring of COBOL/CICS Legacy Systems

Click here to view the paper in html format. For a PS-file click here. For a PDF-file click here. The paper is written by Alex Sellink, Harry Sneed, and Chris Verhoef. We have put a sample program on the web with all its intermediate steps so that the restructuring discussed in this paper can be followed step by step. Click here to view 70 steps of restructuring.

Note that an extended abstract with the same title appeared earlier: Click here to view the extended abstract in html format. For a PS-file click here. This extended abstract has been published in the proceedings of the third European Conference on Maintenance and Reengineering (CSMR99), 3-5 March 1999, Amsterdam, The Netherlands.

Conservative Extension in Positive/Negative Conditional Term Rewriting with Applications to Software Renovation Factories

This paper is written by Wan Fokkink and Chris Verhoef. It treats a fundamental theorem that is important for the incremental development of software renovation factories. The PostScript file can be found here. This paper will be published in the second Conference on Fundamental Approaches to Software Engineering (FASE'99), 22-26 March 1999, Amsterdam, The Netherlands. Note that FASE'99 is one of the European Joint Conferences on Theory and Practice of Software (ETAPS99).

Research Issues in the Renovation of Legacy Systems

Click here to view the paper in html format. For a PS-file click here. For a PDF-file click here. The paper is written by Arie van Deursen, Paul Klint, and Chris Verhoef. This paper is an invited tutorial for the European Joint Conferences on Theory and Practice of Software (ETAPS99), 22-26 March 1999, Amsterdam, The Netherlands. This tutorial will appear in the proceedings of one of those joint conferences: the second Conference on Fundamental Approaches to Software Engineering (FASE'99).

An Architecture for Automated Software Maintenance

Click here to view the paper in html format. For a PS-file click here. For a version in pdf click here. The paper is written by Alex Sellink and Chris Verhoef. This paper will be published in the Seventh International Workshop on Program Comprehension (IWPC99), May 5 - 7, 1999 Carnegie Mellon University, Pittsburgh, PA, USA. Note that this article has been reprinted in COBOLWorld Online.

Towards Automated Modification of Legacy Assets

Click here to view the paper in html format. For a PS-file click here. For a pdf file click here. The paper is written by Chris Verhoef. This paper will be published in the Journal Annals of Software Engineering as part of a special issue on Software Maintenance. The paper served as background material for a Keynote for the Joint third World Multiconference on Systemics, Cybernetics and Informatics and the fifth International Conference on Information Systems Analysis and Synthesis (SCI/ISAS'99), July 31 - August 4, 1999, the Sheraton World Resort, Orlando, Florida, USA. For copies of the slides, please send me an email.

Generation of Software Renovation Factories from Compilers

Click here to view the paper in html format. For a PS-file click here. For a pdf file click here. The paper is written by Alex Sellink and Chris Verhoef. This paper is published in the proceedings of the International Conference on Software Maintenance (ICSM99), August 30 - September 3, 1999, Oxford, The United Kingdom.

A Two-phase Process for Software Architecture Improvement

Click here to view the paper in html format. For a PS-file click here. For a pdf file click here. The paper is written by Rene Krikhaar, Andre Postma, Alex Sellink, Marc Stroucken, and Chris Verhoef. (Rene, Andre and Marc work for Philips research.) This paper is published in the proceedings of the International Conference on Software Maintenance (ICSM99), August 30 - September 3, 1999, Oxford, The United Kingdom.

Software Development is a Special Case of Maintenance

Click here to view the one-page abstract in html format. For a PS-file click here. For a pdf file click here. The one-page abstract is written by Chris Verhoef and serves as a primer of a keynote address to the 3rd Annual IASTED International Conference on Software Engineering and Applications, October 6-8, 1999 in Scottsdale, Arizona, USA and appeared in the conference proceedings.

Development, Assessment, and Reengineering of Language Descriptions

Click here to view the paper in html format. For a PS-file click here. For a pdf file click here. The paper is written by Alex Sellink and Chris Verhoef. The paper appeared in the Proceedings of the 4th European Conference on Software Maintenance and Reengineering, Zurich, Switzerland, Feb 29 - March 3, 2000. Note that an extended abstract appeared earlier in another proceedings. See above for details.

Scaffolding for Software Renovation

Click here to view the paper in html format. For a PS-file click here. For a pdf file click here. The paper is written by Alex Sellink and Chris Verhoef. This paper appeared in the Proceedings of the 4th European Conference on Software Maintenance and Reengineering, Zurich, Switzerland, Feb 29 - March 3, 2000.

How to Implement the Future?

Click here to view the paper in html format. For a PS-file click here. For a pdf file click here. The paper is written by Chris Verhoef. The paper serves as background material for a keynote address to the 26th Euromicro Conference "Informatics: Inventing the Future", Maastricht, the Netherlands, September 5--7, 2000 and will be published in the proceediings.

The Realities of Large Software Portfolios

Click here to view the paper in html format. For a PS-file click here. For a pdf file click here. The paper is written by Chris Verhoef.

The Realities of Language Conversions

For a PS-file click here. For a pdf file click here. The paper is written by Andrey A. Terekhov and Chris Verhoef. We thank Ken Foskey for his recommendation to read this paper. We thank S.C. Sprong for his recommedation to read this paper. This paper is published in the november/december 2000 issue of IEEE Software. This is a Russian translation of our paper. It is published in the May-June issue of the Open Systems Journal, which is comparable to IEEE Software but then in Russia. This paper has been reprinted in Cobolreport.com, then an industrial forum. Our paper won Cobolreport.com's annual best paper award.

Semi-automatic Grammar Recovery

Click here to view the paper in html format. For a PS-file click here. For a pdf file click here. The paper is written by Ralf Lämmel and Chris Verhoef. This paper is published in Software -- Practice & Experience.

VS COBOL II grammar

Grammar specification written by Ralf Lämmel and Chris Verhoef. Click here to view the grammar in html format. Moreover at the grammar browser page you can find several other grammars that we are working on.

Cracking the 500 Language Problem

Click here to view the paper in html format. For a PS-file click here. For a pdf file click here. The paper is written by Ralf Lämmel and Chris Verhoef. This paper is accepted for publication in IEEE Software.

Reengineering the Corporation---A Manifesto for IT Evolution

Click here to view the paper in html format. For a PS-file click here. For a PDF-file click here. The paper is written by Harry Sneed and Chris Verhoef.

Enabling the creation of knowledge about software assets

Click here to view the paper in PDF format. The paper is written by Paul Klint and Chris Verhoef and appeared in Data & Knowledge Engineering in 2002.

Software Product Line Migration and Deployment

Click here to view the paper in html format. For a PS-file click here. For a PDF-file click here. The paper is written by David Faust and Chris Verhoef. This paper is accepted for publication in Software -- Practice & Experience.

Architectural Modifications to Deployed Software

Click here to view the paper in html format. For a PS-file click here. For a PDF-file click here. The paper is written by Steven Klusener, Ralf Laemmel and Chris Verhoef.

Toward an Engineering Discipline for Grammarware

For a PDF-file click here. The paper is written by Paul Klint, Ralf Laemmel and Chris Verhoef.

Demonstrations of our tools

The tools that we describe in our papers can be demonstrated. In this section we put some screen dumps of these demos, so that you have an idea of the look and feel of the tools.

To demonstrate our tools to eliminate GO TO statements from COBOL systems we have a demo. Its screen dumps are listed below. The use of native pattern languages and the use of our tools for computer aided language engineering, are demonstrated in three demos. The slides containing screen dumps can also be found below.

Control Flow Normalization for COBOL/CICS Legacy Systems

Computer Aided Language Engineering (CALE) Part I -- Debugging BNF

Computer Aided Language Engineering (CALE) Part II -- Native Patterns

Computer Aided Language Engineering (CALE) Part III -- from grammar to tools


Software Architecture Reconstruction

This book is the PhD thesis of R. Krikhaar, who is employed at Philips Medical Systems, Best, The Netherlands. Rene asked me to put his work on the Web so that it is accessible to everyone who is interested. Click here to view the paper in PDF format. R. Krikhaar graduated June 1999 on this thesis at the University of Amsterdam. Click here for a impaired but searchable text-only version of the thesis. For correspondence on his work, please mail Rene Krikhaar.