Incremental Analysis of Legacy Applications Using Knowledge Graphs for Application Modernization

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Krishnan, Saravanan, Singhee, Amith, Raghunath, Keerthi Narayan, Mathai, Alex, Kumar, Atul, Wenk, David
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912370058592256
author Krishnan, Saravanan
Singhee, Amith
Raghunath, Keerthi Narayan
Mathai, Alex
Kumar, Atul
Wenk, David
author_facet Krishnan, Saravanan
Singhee, Amith
Raghunath, Keerthi Narayan
Mathai, Alex
Kumar, Atul
Wenk, David
contents Industries such as banking, telecom, and airlines - o6en have large so6ware systems that are several decades old. Many of these systems are written in old programming languages such as COBOL, PL/1, Assembler, etc. In many cases, the documentation is not updated, and those who developed/designed these systems are no longer around. Understanding these systems for either modernization or even regular maintenance has been a challenge. An extensive application may have natural boundaries based on its code dependencies and architecture. There are also other logical boundaries in an enterprise setting driven by business functions, data domains, etc. Due to these complications, the system architects generally plan their modernization across these logical boundaries in parts, thereby adopting an incremental approach for the modernization journey of the entire system. In this work, we present a so6ware system analysis tool that allows a subject ma=er expert (SME) or system architect to analyze a large so6ware system incrementally. We analyze the source code and other artifacts (such as data schema) to create a knowledge graph using a customizable ontology/schema. Entities and relations in our ontology can be defined for any combination of programming languages and platforms. Using this knowledge graph, the analyst can then define logical boundaries around dependent Entities (e.g. Programs, Transactions, Database Tables etc.). Our tool then presents different views showcasing the dependencies from the newly defined boundary to/from the other logical groups of the system. This exercise is repeated interactively to 1) Identify the Entities and groupings of interest for a modernization task and 2) Understand how a change in one part of the system may affect the other parts. To validate the efficacy of our tool, we provide an initial study of our system on two client applications.
format Preprint
id arxiv_https___arxiv_org_abs_2505_06885
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Incremental Analysis of Legacy Applications Using Knowledge Graphs for Application Modernization
Krishnan, Saravanan
Singhee, Amith
Raghunath, Keerthi Narayan
Mathai, Alex
Kumar, Atul
Wenk, David
Software Engineering
Information Retrieval
Industries such as banking, telecom, and airlines - o6en have large so6ware systems that are several decades old. Many of these systems are written in old programming languages such as COBOL, PL/1, Assembler, etc. In many cases, the documentation is not updated, and those who developed/designed these systems are no longer around. Understanding these systems for either modernization or even regular maintenance has been a challenge. An extensive application may have natural boundaries based on its code dependencies and architecture. There are also other logical boundaries in an enterprise setting driven by business functions, data domains, etc. Due to these complications, the system architects generally plan their modernization across these logical boundaries in parts, thereby adopting an incremental approach for the modernization journey of the entire system. In this work, we present a so6ware system analysis tool that allows a subject ma=er expert (SME) or system architect to analyze a large so6ware system incrementally. We analyze the source code and other artifacts (such as data schema) to create a knowledge graph using a customizable ontology/schema. Entities and relations in our ontology can be defined for any combination of programming languages and platforms. Using this knowledge graph, the analyst can then define logical boundaries around dependent Entities (e.g. Programs, Transactions, Database Tables etc.). Our tool then presents different views showcasing the dependencies from the newly defined boundary to/from the other logical groups of the system. This exercise is repeated interactively to 1) Identify the Entities and groupings of interest for a modernization task and 2) Understand how a change in one part of the system may affect the other parts. To validate the efficacy of our tool, we provide an initial study of our system on two client applications.
title Incremental Analysis of Legacy Applications Using Knowledge Graphs for Application Modernization
topic Software Engineering
Information Retrieval
url https://arxiv.org/abs/2505.06885