A generic framework for the analysis of heterogeneous legacy software systems

Amir M. Saeidi, Jurriaan Hage, Ravi Khadka, Slinger Jansen

Research output: Contribution to journalConference articlepeer-review


The reverse engineering of legacy systems is a process that involves analysis and understanding of the given systems. Some people believe in-depth knowledge of the system is a prerequisite for its analysis, whereas others, ourselves included, argue that only specific knowledge is required on a per-project basis. To give support for the latter approach, we propose a generic framework that employs the techniques of non-determinism and abstraction to enable us to build tooling for analyzing large systems. As part of the framework, we introduce an extensible imperative procedural language called KERNEL which can be used for constructing an abstract representation of the control flow and data flow of the system. To illustrate its use, we show how such framework can be instantiated to build a use-def graph for a large industrial legacy COBOL and JCL system. We have implemented our framework in a model-driven fashion to facilitate development of relevant tools. The resulting GELATO tool set can be used within the Eclipse environment.
Original languageEnglish
Pages (from-to)24-28
Number of pages5
JournalCEUR Workshop Proceedings
Publication statusPublished - 15 May 2019
Event17th Belgium-Netherlands Software Evolution Workshop 2018 - Delft, Netherlands
Duration: 10 Dec 201811 Dec 2018


Dive into the research topics of 'A generic framework for the analysis of heterogeneous legacy software systems'. Together they form a unique fingerprint.

Cite this