SEAIApr 14, 2025

Automated Testing of COBOL to Java Transformation

arXiv:2504.10548v15 citationsh-index: 23SIGSOFT FSE Companion
Originality Incremental advance
AI Analysis

This addresses the need for reliable automated validation in legacy code migration, though it is incremental as it builds on existing symbolic execution techniques.

The paper tackles the problem of validating COBOL to Java code translations by developing an automated testing framework using symbolic execution to generate unit tests, achieving functional equivalence testing in an industrial context.

Recent advances in Large Language Model (LLM) based Generative AI techniques have made it feasible to translate enterprise-level code from legacy languages such as COBOL to modern languages such as Java or Python. While the results of LLM-based automatic transformation are encouraging, the resulting code cannot be trusted to correctly translate the original code, making manual validation of translated Java code from COBOL a necessary but time-consuming and labor-intensive process. In this paper, we share our experience of developing a testing framework for IBM Watsonx Code Assistant for Z (WCA4Z) [5], an industrial tool designed for COBOL to Java translation. The framework automates the process of testing the functional equivalence of the translated Java code against the original COBOL programs in an industry context. Our framework uses symbolic execution to generate unit tests for COBOL, mocking external calls and transforming them into JUnit tests to validate semantic equivalence with translated Java. The results not only help identify and repair any detected discrepancies but also provide feedback to improve the AI model.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes