A Generic Framework for Model-Driven Analysis of Heterogeneous Legacy Software Systems

Amir Saeidi, Jurriaan Hage, Ravi Khadka, Slinger Jansen

    Research output: Book/ReportReportAcademic


    Reverse engineering of legacy systems is a process that involves analysis and understanding of the system. 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 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
    Place of PublicationUtrecht
    PublisherUU BETA ICS Departement Informatica
    Number of pages20
    Publication statusPublished - 2017

    Publication series

    NameTechnical Report Series
    PublisherUU Beta ICS Departement Informatica
    ISSN (Print)0924-3275


    Dive into the research topics of 'A Generic Framework for Model-Driven Analysis of Heterogeneous Legacy Software Systems'. Together they form a unique fingerprint.

    Cite this