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

Publication date

2017

Authors

Saeidi, AmirISNI 0000000507309438
Hage, JurriaanISNI 0000000356203424
Khadka, RaviISNI 0000000395000435
Jansen, SlingerORCID 0000-0003-3752-2868ISNI 000000039050399X

Editors

Advisors

Supervisors

DOI

Document Type

Report
Open Access logo

License

Abstract

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.

Keywords

Citation

Saeidi, A, Hage, J, Khadka, R & Jansen, S 2017, A Generic Framework for Model-Driven Analysis of Heterogeneous Legacy Software Systems. Technical Report Series, no. UU-CS-2017-003, UU BETA ICS Departement Informatica, Utrecht.