DOI: https://doie.org/10.10399/JBSE.2026787101
K.S.Aparna, Dr. R.N. Kulkarni
Program Slicing, Object-Z Representation, Requirement Extraction, Java Programming Systems, Software Verifica-tion, Re-Engineering
Over the past few decades, rapid advancements in software and hardware technologies have driven automation in various domains, with Java-based applications playing a crucial role in modern computing. However, many organizations continue to rely on legacy systems written in Java, C, and other older languages, making maintenance, comprehension, and migration increasingly complex. Frequent modifications in these systems often introduce structural inconsistencies, posing challenges for developers, especially in the absence of original contributors. Moreover, these legacy systems encapsulate critical business rules accumulated over decades, which must be preserved during migration to modern paradigms. Program slicing in software re-engineering offers an effective approach for understanding, modifying, and migrating essential code segments while reducing maintenance complexity. However, existing slicing techniques in software re-engineering frameworks struggle with Java’s dynamic features, such as encapsulated classes, inheritance hierarchies, and dynamic method calls, leading to imprecise slicing and inefficient control flow analysis. Furthermore, current slicing tools often lack inter-procedural precision and fail to support legacy system refactoring. This paper proposes a novel and computationally efficient model-driven approach for abstracting key components and requirements from Java-based systems, thereby enhancing program slicing for seamless legacy-to-modern migration. The proposed method improves slicing precision by effectively handling variable references, dynamic bindings, and structural dependencies. Experimental evaluations demonstrate that this framework significantly enhances software adaptability while ensuring the integrity of embedded business logic. Unlike existing methods, the proposed approach optimizes computational complexity in search operations and facilitates efficient requirement extraction for modern software system development.