Score: 1

Translating PL/I Macro Procedures into Java Using Automatic Templatization and Large Language Models

Published: December 6, 2025 | arXiv ID: 2512.06448v1

By: Takaaki Tateishi, Yasuharu Katsuno

BigTech Affiliations: IBM

Potential Business Impact:

Helps computers rewrite old code into new code.

Business Areas:
Natural Language Processing Artificial Intelligence, Data and Analytics, Software

Modernizing legacy enterprise systems often involves translating PL/I programs into modern languages such as Java. This task becomes significantly more complex when PL/I macro procedures are involved. The PL/I macro procedures are considered string-manipulating programs that generate PL/I code, and they make automated translation more complex. Recently, large language models (LLMs) have been explored for automated code translation. However, LLM-based code translation struggles to translate the PL/I macro procedures to Java programs that reproduce the behavior of the plain PL/I code generated by the original PL/I macro procedures. This paper proposes a novel method called templatization, which uses symbolic execution to generate code templates (code with named placeholders) as an intermediate representation. In this approach, symbolic values are treated as parts of macro-generated code. By symbolically executing macro procedures and generating code templates, our approach facilitates LLMs to generate readable and maintainable Java code. Our preliminary experiment on ten PL/I macro procedures shows that the LLM-based translation through templatization successfully generates Java programs that reproduce the behavior of the macro-generated PL/I programs.

Country of Origin
🇺🇸 United States

Page Count
5 pages

Category
Computer Science:
Software Engineering